以下为数据库sqltest
中的三张表,其结构和内容(部分)如下:
1. 关键字
①EXISTS
、NOT EXISTS
EXISTS
关键字:当EXISTS
里的条件语句能够返回记录行时,条件为真,返回当前loop到的这条记录;反之,当前loop到的这条记录被丢弃。
NOT EXISTS
关键字:NOT EXISTS
与EXISTS
相反,也就是当EXISTS
条件有结果集返回时,loop到的记录将被丢弃,否则将loop到的记录加入结果集。
- 统计没有参加所有考试的学生
mysql> SELECT *
-> FROM t_stu_profile b
-> WHERE NOT EXISTS(
-> SELECT *
-> FROM t_score a
-> WHERE a.stu_id = b.stu_id)
-> ;
+--------+----------