| 需求 | 語法範例 | 說明 |
|---|---|---|
| 查詢所有欄位 | SELECT * FROM authors | * 代表所有欄位,順序同資料表定義 |
| 查詢指定欄位 | SELECT au_fname, au_lname FROM authors | 明確列出所需欄位,效能較佳 |
| 去除重複值 | SELECT DISTINCT state FROM authors | DISTINCT 作用於整個 SELECT 清單 |
| 欄位別名 | SELECT AuthorFirstName = au_fname FROM authors | 或 SELECT au_fname AS AuthorFirstName |
| 計算欄位 | SELECT totalSale = price * ytd_sales FROM titles | 算術運算式可參考一或多欄位 |
=、<> (或 !=)、>、<、>=、<=、!>、!<。
| 運算子 | 用法範例 | 說明 |
|---|---|---|
LIKE | WHERE au_lname LIKE 'Sm%' | % 任意長度字串;_ 單一字元;[] 字元集合;[^] 排除字元集合 |
BETWEEN | WHERE price BETWEEN 10 AND 20 | 包含端點;可搭配 NOT |
IN | WHERE state IN ('CA','NY','TX') | 值清單或子查詢;可搭配 NOT |
AND | WHERE state='CA' AND city='Oakland' | 皆真才真 |
OR | WHERE state='CA' OR state='NY' | 任一真即真 |
NOT | WHERE NOT state='CA' | 邏輯否定,可結合多數運算子 |
SOME|ANY | WHERE price > ANY (SELECT price FROM titles) | 與子查詢任一值比較為真即真 |
ALL | WHERE price > ALL (SELECT price FROM titles) | 與子查詢所有值比較皆真才真 |
DISTINCT 針對整列去重,單欄有重複但其他欄不同仍保留。LIKE 通配符可組合:'[A-C]%_'。BETWEEN 為閉區間,含邊界值。IN 子查詢回傳單欄多列時效能優於多個 OR。