第 9 章 查詢資料- 善用 SELECT 敘述
本章重點 9-1 SELECT 敘述的基本結構 9-2 SELECT 子句 9-3 FROM 子句 9-4 WHERE 子句 9-5 GROUP BY 子句 9-6 HAVING 子句 9-7 ORDER BY 子句
9-1 SELECT 敘述的基本結構
9-2 SELECT 子句
SELECT 子句 指定欄位名稱 是否顯示重複記錄:ALL 與 DISTINCT TOP n 與 TOP n PERCENT 需結合 ORDER BY 子句的 WITH TIES 查詢具備識別或 ROWGUID 屬性的欄位 定與使用欄位別名
指定欄位名稱 *:代表資料表中的所有欄位。 column_name:欄位名稱之間用逗號相隔。 expression:利用運算式來指定欄位。
指定欄位名稱
指定欄位名稱
指定欄位名稱
是否顯示重複記錄:ALL 與 DISTINCT
是否顯示重複記錄:ALL 與 DISTINCT
TOP n 與 TOP n PERCENT
TOP n 與 TOP n PERCENT
需結合 ORDER BY 子句的 WITH TIES
需結合 ORDER BY 子句的 WITH TIES
需結合 ORDER BY 子句的 WITH TIES
查詢具備識別或 ROWGUID 屬性的欄位
查詢具備識別或 ROWGUID 屬性的欄位
查詢具備識別或 ROWGUID 屬性的欄位
定與使用欄位別名
9-3 FROM 子句
FROM 子句 定義資料表別名 JOIN 的基本原理 JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS Self-Joins:自己 JOIN 自己
定義資料表別名
JOIN 的基本原理
JOIN 的基本原理
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS [ INNER ] JOIN:顯示符合條件的資料列。 LEFT [OUTER] JOIN:符合條件的資料列,以及左邊資料表中不符合條件的資料列。 RIGHT [OUTER] JOIN:符合條件的資料列,以及右邊資料表中不符合條件的資料列。 FULL [OUTER] JOIN:符合條件的資料列,以及左邊和右邊資料表中不符合條件的資料列。 CROSS J:接將一個資料表的每一筆資料列和另一個資料表的每一筆資料列搭配成新的資料列。
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS 查詢兩家公司有那些共同的產品及產品的價格(INNER JOIN)
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS 找出兩家公司共同的產品及價格, 以及旗旗公司的獨家產品 (LEFT JOIN)
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS 查詢兩家公司共同的產品和價格, 以及標標公司有什麼獨家產品 (RIGHT JOIN)
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS 查詢兩家公司所有的產品和價格 (FULL JOIN):
JOIN 的類型:INNER、LEFT、RIGHT、FULL 和 CROSS 將兩家公司的每項產品一一配對 (CROSS JOIN)
Self-Joins:自己 JOIN 自己
Self-Joins:自己 JOIN 自己
9-4 WHERE 子句
9-5 GROUP BY 子句 可將資料列依據設定的條件,分成數個群組 (GROUP),並且讓 SELECT 子句中所使用的彙總函數產生作用。
GROUP BY 子句 基本用法 CUBE:對所有欄位加總運算 ROLLUP:對第一個欄位加總運算
基本用法
基本用法
基本用法
CUBE:對所有欄位加總運算
CUBE:對所有欄位加總運算
CUBE:對所有欄位加總運算
CUBE:對所有欄位加總運算
9-6 HAVING 子句
HAVING 子句
9-7 ORDER BY 子句
ORDER BY 子句 order_by_expression:設定排序的依據,可以是欄位名稱、欄位別名、或包含欄位值的運算式。 ASC:以升冪方式 (由小而大) 的方式排序。 DESC:以降冪方式 (由大而小) 的方式排序。 OFFSET offset_expr ROWS:指定在傳回查詢結果時,要略過最前面offset_expr 筆記錄。 FETCH NEXT fetch_expr ROWS ONLY:只要傳回 fetch_expr 筆記錄,必須搭配 OFFSET 一起使用才行。
ORDER BY 子句
ORDER BY 子句
ORDER BY 子句