2025-10-17 10:03:03
•
19
MySQL中 in 和 exists用法
exists关键字后面的参数是一个任意的子查询,系统对子查询进行运算以判断它是否返回行,如果至少返回一行,那么exists的结果为true ,此时外层的查询语句将进行查询;如果子查询没有返回任何行,那么exists的结果为false,此时外层语句将不进行查询。
需要注意的是,当我们的子查询为 SELECT NULL 时,MYSQL仍然认为它是True。
in 关键字进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列的值将提供给外层查询语句进行比较操作。
SELECT * FROM `anews` WHERE classid in(select id from anewsclass where fid=2)
select id from anewsclass where fid=2 查询出来的id就是2,4