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 '%数据库%';
注意所有(感觉所有提前更方便理解)