13.6.3 EXISTS子查询
EXISTS关键字表示如果存在某种条件,则返回TRUE,否则返回FALSE。
例如,查询t_goods_category数据表中是否存在id为1的数据,如果存在,则查询t_goods数据表中t_category_id为1的数据。
mysql> SELECT id, t_category_id, t_category, t_name, t_price
-> FROM t_goods
-> WHERE EXISTS (
-> SELECT t_category
-> FROM t_goods_category
-> WHERE id = 1
-> )
-> AND t_category_id = 1;
+----+---------------+----------------+------------+---------+
| id | t_category_id | t_category | t_name | t_price |
+----+---------------+----------------+------------+---------+
| 1 | 1 | 女装/女士精品 | T恤 | 39.90 |
| 2 | 1 | 女装/女士精品 | 连衣裙 | 79.90 |
| 3 | 1 | 女装/女士精品 | 卫衣 | 79.90 |
| 4 | 1 | 女装/女士精品 | 牛仔裤 | 89.90 |
| 5 | 1 | 女装/女士精品 | 百褶裙 | 29.90 |
| 6 | 1 | 女装/女士精品 | 呢绒外套 | 399.90 |
+----+---------------+----------------+------------+---------+
6 rows in set (0.00 sec)