SELECT 指定查詢結果屬性,表達式
FROM 對應關係代數笛卡爾積,查詢涉及表(基本表,視圖,查詢圖)
WHERE 指定選擇條件
1消除重複元組 DISTINCT
2查詢所有 *
3取別名 AS
4查詢計算列 可以函數或數學計算
(注意數據類型!決定是否要打引號)
1範圍 BETWEEN ... AND..
2集合查詢 IN/NOT IN(屬性值在某個集合內的元組),放在屬性後,後面可以接集合或者子查詢表
3空值查詢,記錄上沒有xx的屬性 IS NULL(不可以用=)
4字符串匹配(注意數據類型)LIKE『%A_'
5邏輯運算 AND OR NOT
ORDER BY xx [函數]
查詢表 可用於FROM後
1聚合函數
2GROUP BY分組
HAVING 後需要聚合函數來對聚合計算結果進行選擇
不同的表需要在FROM重命名未小寫字母.區分屬性
1等值連接,WHERE後選擇屬性=
2自表連接,重命名區分來源不同
左外連接,FROM後JION(表)ON(判斷依據),右邊可以為空值
查詢借閱過圖書名稱中包含「數據庫」的所有圖書的讀者編號、姓名以及他們所借閱的這些圖書的圖書名稱、借閱日期和歸還日期。
沒有這種書沒有借過的人
下面這個不行
SELECT r.readerNo, r.readerName, b.bookName, bo.borrowDate, bo.returnDate
FROM Reader r, Borrow bo, Book b
WHERE r.readerNo = bo.readerNo AND bo.bookNo = b.bookNo AND b.bookName LIKE '%數據庫%';
注意所有(感覺所有提前更方便理解)