IN
确定给定的值是否与子查询或列表中的值相匹配。
EXISTS
指定一个子查询,检测行的存在。
比较使用 EXISTS 和 IN 的查询
exists()后面的子查询被称做相关子查询 他是不返回列表的值的.只是返回一个ture或false的结果,其运行方式是先运行主查询一次 再去子查询里查询与其对应的结果 如果是ture则输出,反之则不输出.再根据主查询中的每一行去子查询里去查询.
in()后面的子查询 是返回结果集的,换句话说执行次序和exists()不一样.子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.
sql 中的in和exists的区别
最新推荐文章于 2025-03-25 10:34:02 发布
本文对比了EXISTS和IN在数据库查询中的不同用法。EXISTS用于检测子查询中是否存在匹配项,仅返回真或假;而IN则返回一个结果集,并在主查询中查找匹配项。
261

被折叠的 条评论
为什么被折叠?



