SELECT Sno, Sname FROM Student; -- 順序可自訂,不受表定義限制
SELECT * FROM Student; -- 全表掃描,最簡單但效能最差
SELECT Sname, 2004 - Sage AS BirthYear FROM Student;
SELECT Sname, 'Year of Birth:', 2004 - Sage AS BirthYear FROM Student;
算術運算、字串常數、函數皆可用於選擇清單,建議搭配 AS 別名提升可讀性。
SELECT DISTINCT Sno FROM SC; -- 避免同一學生多門課導致重複學號
| 條件類型 | 謂詞/運算子 |
|---|---|
| 比較 | =, >, >=, <, <=, <> (!=), NOT |
| 範圍 | BETWEEN ... AND, NOT BETWEEN ... AND |
| 集合 | IN, NOT IN |
| 字串比對 | LIKE, NOT LIKE |
| 空值 | IS NULL, IS NOT NULL |
| 多重條件 | AND, OR |
WHERE Sdept = '計算機系'WHERE Sage BETWEEN 20 AND 23WHERE Sdept IN ('資訊系','數學系','計算機系')WHERE Sname LIKE '劉%'、WHERE Sname LIKE '__[大小]%'WHERE Grade IS NULL(不可用 = NULL)WHERE Sdept='計算機系' AND Sage<20SELECT Sno, Grade FROM SC WHERE Cno='3' ORDER BY Grade DESC;
SELECT * FROM Student ORDER BY Sdept ASC, Sage DESC;
預設升序,NULL 值升序排最後、降序排最前。
| 函數 | 說明 |
|---|---|
| COUNT(*) | 統計列數 |
| COUNT(欄位) | 統計非空值個數 |
| SUM(欄位) | 數值加總 |
| AVG(欄位) | 數值平均 |
| MAX/MIN(欄位) | 最大/最小值 |