国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

一個單表查詢的示例

2024-07-21 02:49:42
字體:
供稿:網(wǎng)友
一個單表查詢的示例

單表查詢就是利用SELECT語句對目標(biāo)表進(jìn)行查詢,應(yīng)用一定的邏輯處理,最后返回結(jié)果。這篇文章分為以下幾點進(jìn)行總結(jié)。

1,示例查詢

2,SELECT語句的邏輯處理順序

3,幾個小坑

示例查詢

看下面這段SQL代碼:

-- 設(shè)置數(shù)據(jù)庫上下文USE TSQLFundamentals2008;GO-- 從訂單表中找出客戶ID為71的記錄,并按職員ID和訂單年份進(jìn)行分組,并且只保留具有多個訂單的分組,最后按職員ID-- 和訂單年份進(jìn)行排序SELECT empid,YEAR(orderdate) AS orderyear,COUNT(*) AS numorders FROM Sales.OrdersWHERE custid=71GROUP BY empid,YEAR(orderdate)HAVING COUNT(*)>1ORDER BY empid,orderyear

查詢結(jié)果:

image

SELECT語句的邏輯處理順序

與大多數(shù)編程語言的按代碼編寫順序來執(zhí)行不同的是,SQL是按照它的邏輯順序來執(zhí)行的,即使SELECT語句是在開始的位置出現(xiàn)的,但是它卻并不是首先執(zhí)行的。那么SQL的邏輯執(zhí)行順序是怎樣的呢?

1,F(xiàn)ROM

2,WHERE

3,GROUP BY

4,HAVING

5,SELECT

5-1 OVER

5-2 DISTINCT

5-3 TOP

6,ORDER BY

幾個小坑

在SELECT查詢過程中,有幾個小坑需要我們多加注意。

1,所有的聚合函數(shù)都分忽略NULL值,只有一個例外,Count(*)。例如,假設(shè)一個組有5行,其qty列的值分別為30,10,NULL,10,10。Count(*)會返回5,而Count(qty)則返回4。

2,給表達(dá)式或列定義別名最好用<表達(dá)式> AS <別名>的格式。

3,記住,SELECT子句是在FROM,WHERE,GROUP BY,以及HAVING語句之后處理的,所以對于SELECT語句之前處理的那些子句不可以引用SELECT語句中為表達(dá)式分配的別名,只有ORDER BY語句可以引用它,因為它是在SELECT之后處理的。

4,SQL查詢的結(jié)果并不保證是有序的,它是一個集合,而集合是無序的,理解SQL查詢結(jié)果是無序的這一點非常重要。


  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 永丰县| 南丹县| 康保县| 罗定市| 临桂县| 安国市| 洛阳市| 阜新市| 建湖县| 卢氏县| 扶沟县| 隆化县| 嘉峪关市| 靖宇县| 高邮市| 盈江县| 满城县| 从江县| 揭阳市| 万年县| 无为县| 阿城市| 江北区| 阿鲁科尔沁旗| 内江市| 镇赉县| 海伦市| 甘洛县| 天镇县| 邳州市| 弥勒县| 安龙县| 岗巴县| 县级市| 辽宁省| 巴彦淖尔市| 托克逊县| 安仁县| 新巴尔虎右旗| 宣武区| 高州市|