基本 SELECT 包含三大子句:
SELECT nickname, email FROM testtable WHERE name = '張三'
SELECT * FROM testtable
結果集欄位順序依選擇列表順序:
SELECT nickname, email FROM testtable
-- 格式:欄位標題 = 欄位名 或 欄位名 欄位標題
SELECT 暱稱 = nickname, 電子郵件 = email FROM testtable
-- 若標題含特殊字元需用引號
SELECT "暱稱" = nickname, "電子郵件" = email FROM testtable
SELECT DISTINCT nickname FROM testtable -- 僅保留一筆
SELECT ALL nickname FROM testtable -- 預設,含重複
SELECT TOP 2 * FROM testtable -- 前 2 筆
SELECT TOP 20 PERCENT * FROM testtable -- 前 20%
最多支援 256 個表/視圖。同名欄位需用表名限定:
SELECT username, citytable.cityid
FROM usertable, citytable
WHERE usertable.cityid = citytable.cityid
-- 格式:表名 AS 別名 或 表名 別名
SELECT username, b.cityid
FROM usertable a, citytable b
WHERE a.cityid = b.cityid
SELECT a.au_fname + a.au_lname
FROM authors a, titleauthor ta,
(SELECT title_id, title FROM titles WHERE ytd_sales > 10000) AS t
WHERE a.au_id = ta.au_id AND ta.title_id = t.title_id
| 分類 | 運算符 | 說明 |
|---|---|---|
| 比較 | >, >=, =, <, <=, <>, !>, !< | 大小比較 |
| 範圍 | BETWEEN ... AND ... | 在範圍內(含邊界) |
| NOT BETWEEN ... AND ... | 不在範圍內 | |
| 列表 | IN (項1, 項2...) | 符合列表任一值 |
| NOT IN (項1, 項2...) | 不符合列表任何值 | |
| 模式比對 | LIKE / NOT LIKE | 字串模式比對 |
| 空值判斷 | IS NULL / IS NOT NULL | 判斷是否為 NULL |
| 邏輯 | NOT, AND, OR | 多條件邏輯連接 |
age BETWEEN 10 AND 30 等同 age >= 10 AND age <= 30country IN ('Germany', 'China')char、varchar、text、datetime 等類型
%:比對任意長度字元(中文建議用 %%)_:比對單一任意字元,可限制長度[]:字元集合比對