- EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False
- EXISTS 指定一个子查询,检测 行 的存在。
mysql root@localhost:test> SELECT * FROM test
+----------+------------+---------+------------+
| stu_id | stu_name | money | date |
|----------+------------+---------+------------|
| 14 | daxiong | 14 | 2016-12-15 |
| 15 | xiaofu | 15 | 2019-12-16 |
| 16 | jingxiang | 16 | 2008-01-12 |
| 17 | lufei | 16 | 2017-02-12 |
| 18 | hello | 16 | 2017-02-12 |
+----------+------------+---------+------------+
语法: EXISTS subquery
参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型: Boolean 如果子查询包含行(一行或者多行),则返回 TRUE ,否则返回 FLASE 。
注意:子查询内返回的是一个结果,存在行这个条件包括存在的行的值为NULL(注意不存在行值和行值为NULL的区别)
这里`SELECT NULL操作是有返回值的,所以返回为TRUE
网友评论