楼主: 我是小趴菜
523 2

[数据挖掘新闻] exists子查询 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

楼主
我是小趴菜 发表于 2022-11-16 10:13:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

-- exists 子查询

-- 查询是否有工资=1250的员工,有则输出

select * from emp

where sal=1250;

select ename from emp b where exists (select * from emp a

where b.sal=1250);

-- 查询部门表有记录而员工表中没有记录的部门编号

select deptno from dept d where exists (select deptno from emp e where d.deptno=e.deptno);

##exists查询可以用in查询代替:

select deptno from dept where deptno in (select deptno from emp);

/* exists和in查询原理的区别:

exists:外表先进行循环查询,将查询结果放入exists的子查询中进行条件验证,确定外层查询数据是否保留

in :先查询内表,将内表的查询结果当做条件提供给外表查询语句进行比较

结论:

通过上面的优化策略分析和exists和in的查询原理的分析,将这两块内容结合起来其实就得出了我们想要的一个结论:


外层小表,内层大表(或者将sql从左到由来看:左面小表,右边大表): exists 比 in 的效率高

外层大表,内层小表(或者将sql从左到由来看:左面大表,右边小表): in 比 exists 的效率高 */


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:exist EXI IST STS 子查询

沙发
三江鸿 发表于 2022-11-16 16:15:07 来自手机
点个赞感谢分享

藤椅
南山@之木 发表于 2022-11-17 11:41:30
这两还是要查询两张整表,不到最后还是不建议使用

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 14:47