网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

中國站

中國站

國際版

聯(lián)系我們

400-002-9968

售前咨詢

售后服務

注冊 登錄

博客 > SQL高級知識:派生表那些事兒

SQL高級知識:派生表那些事兒

  • 標簽:
  • SQL
  • 派生表
  • 數(shù)據(jù)庫

瀏覽量:1722次評論:0次

作者:銳成網(wǎng)絡整理時間:2024-05-17 17:45:54

派生表是SQL中一個非常強大且常用的技術,提供了一種以表格方式展現(xiàn)特定查詢結果的方式,可以讓我們更靈活地處理數(shù)據(jù)。本文將介紹SQL派生表定義、作用特征等相關內(nèi)容。

1、派生表的定義

派生表是在外部查詢的FROM子句中定義的,只要外部查詢一結束,派生表也就不存在了。

SQL高級知識:派生表那些事兒

2、派生表的作用

派生表可以簡化查詢,避免使用臨時表。相比手動生成臨時表性能更優(yōu)越。派生表與其他表一樣出現(xiàn)在查詢的FROM子句中。

例如:

SELECT * FROM (
SELECT * FROM Customers WHERE 城市='廣州'
) Cus

其中Cus就是派生表

3、派生表的特征

所有列必須要有名稱,出現(xiàn)無列名的要重命名

列名稱必須是要唯一,相同名稱肯定是不允許的

不允許使用ORDER BY(除非指定了TOP)

派生表必須指定名稱,例如:Cus

注意:派生表是一張?zhí)摫?,在?shù)據(jù)庫中并不存在,是我們自己創(chuàng)建的,目的主要是為了縮小數(shù)據(jù)的查找范圍,提高查詢效率。

4、派生表嵌套

如果需要用一個本身就引用了某個派生表的查詢,去定義另一個派生表,最終得到的就是嵌套派生表。

例子:查詢每年處理客戶數(shù)超過70的訂單年度和每年所處理的客戶數(shù)量。

方法一:不使用派生表

SELECT
YEAR(orderdate) AS Orderyear,
COUNT(DISTINCT custid) AS Numcusts
FROM Sales.Orders
GROUP BY YEAR(Orderdate)
HAVING COUNT(DISTINCT Custid) > 70;

方法二:使用派生表

SELECT Orderyear, Numcusts
FROM (
SELECT Orderyear, COUNT(DISTINCT Custid) AS Numcusts
FROM (
SELECT YEAR(Orderyear) AS Orderyear, Custid
FROM Sales.Orders) AS D1
GROUP BY Orderyear
) AS D2
WHERE Numcusts > 70;

嵌套查詢看起來非常復雜,嵌套查詢也是很容易產(chǎn)生問題的一個方面。在這個例子中,使用嵌套派生表的目的是為了重用列別名。但是,由于嵌套增加了代碼的復雜性,所以對于本例考慮使用方案一。

4、派生表與子查詢的區(qū)別

子查詢是指在主查詢中使用的內(nèi)部查詢。通過將子查詢作為主查詢的條件或結果集來獲取所需數(shù)據(jù),子查詢可以出現(xiàn)在很多地方。

在where?句中: ?查詢的結果可?作條件篩選時使?的值。

在from?句中: ?查詢的結果可充當?張表或視圖,需要使?表別名。

在having?句中: ?查詢的結果可?作分組查詢再次條件過濾時使?的值

在select?句中: ?查詢的結果可充當?個字段。僅限?查詢返回單?單列的情況。

1、派生表通常出現(xiàn)在FROM子句后面。

2、派生表通常用于子查詢的結果需要多次使用的場景,而子查詢可以用于需要臨時結果的場景。

3、派生表必須有自己的別名,而子查詢一般不需要。

以上就是關于派生表的相關知識了,作為SQL中一個非常實用的功能,派生表可以幫助我們在查詢中靈活處理數(shù)據(jù)。

重要聲明:本文來自SQL數(shù)據(jù)庫開發(fā),經(jīng)授權轉載,版權歸原作者所有,不代表銳成觀點,轉載的目的在于傳遞更多知識和信息。

我的評論

還未登錄?點擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head