
exists是用来判断是否存在,如上例题就是同时满足学习过01、02科目的。
cno = '01' and 存在cno='02' 且 学号与学过01的学号相同(表示同时学过01、02的人)
in是把外表和内表作hash连接,而exists是对外表作loop循环。
确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。
具体sql语句如下:
1 SELECT 2 3 FROM 4 `user` 5 WHERE 6 `user`id IN ( 7 SELECT 8 `order`user_id 9 FROM10 `order`
exist是指定一个子查询,检测行的存在。遍历循环外表,然后看外表中的记录有没有和内表的数据一样的。匹配上就将结果放入结果集中。
具体sql语句如下:
1 SELECT 2 `user` 3 FROM 4 `user` 5 WHERE 6 EXISTS ( 7 SELECT 8 `order`user_id 9 FROM10 `order`11 WHERE12 `user`id = `order`user_id
EXISTS的子查询根据子查询是否有记录返回确定条件是否成立。如果子查询有记录返回则EXISTS函数返回真,否则为假。由于EXISTS是据子查询是否有记录返回确定条件是否成立,因此在这里给出列名无意义。所以在有EXISTS的子查询中,其目标列表达式通常都用。
以上就是关于在sql中,exist用来判断子查询的结果是否为空,也就是ture or false,where后面是跟条件,请问如何理解全部的内容,包括:在sql中,exist用来判断子查询的结果是否为空,也就是ture or false,where后面是跟条件,请问如何理解、在SQL语句中,in和exist的区别是什么、sql数据库中存在量词EXISTS的子查询该怎么理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)