涵蓋 SELECT 基礎語法:投影 (選取欄位)、別名、TOP/DISTINCT、條件篩選 (WHERE)、邏輯運算子、BETWEEN/IN/LIKE/IS NULL、彙總函數等核心查詢技巧。
-- 指定欄位
SELECT Sname, Sage FROM Student;
-- 所有欄位
SELECT * FROM Student;
-- 去除重複
SELECT DISTINCT Sname FROM Student;
-- 前 N 筆 / 前 N%
SELECT TOP 3 * FROM Student;
SELECT TOP 50 PERCENT * FROM Student;
-- 欄位別名
SELECT Sno AS 學號, Sname AS 姓名, Sage AS 年齡 FROM Student;
SELECT Sno 學號, Sname 姓名, Sage 年齡 FROM Student; -- 省略 AS
-- 計算欄位
SELECT 100 - Sage AS 壽命 FROM Student;
SELECT * FROM SC WHERE Grade >= 90;
SELECT * FROM Student WHERE Sage = 19 AND Ssex = '男';
SELECT * FROM Student WHERE Sage = 19 OR Sage = 20;
SELECT * FROM Student WHERE NOT Sage = 19;
SELECT * FROM Student WHERE Sage BETWEEN 18 AND 20;
SELECT * FROM Student WHERE Sage NOT BETWEEN 18 AND 19;
SELECT * FROM Student WHERE Sage IN (18, 19);
| 符號 | 意義 |
|---|---|
| % | 零或多個任意字元 |
| _ | 單一任意字元 |
| [] | 指定範圍內單一字元,如 [a-f] |
| [^] | 排除範圍內單一字元 |
SELECT * FROM Student WHERE Sname LIKE '王%'; -- 姓王
SELECT * FROM Student WHERE Sname LIKE '%四%'; -- 含「四」
SELECT * FROM Student WHERE Sname IS NOT NULL;
SELECT AVG(Grade) AS 平均分數 FROM SC;
SELECT SUM(Grade) AS 總分 FROM SC;
SELECT COUNT(Grade) AS 筆數 FROM SC; -- 不含 NULL
SELECT COUNT(*) AS 總列數 FROM SC; -- 含 NULL
提醒: 大量資料表避免使用 SELECT * 或無條件 COUNT(*),會造成全表掃描與鎖爭用。