MySQL子查询

分类:

多表关联或者表内字段关联时,或做相似功能判断时,往往会使用子查询来解决相应问题
1. 无关子查询:

内查询没有用到外查询的列,而且内查询可以单独运行.

2. 相关子查询:

内查询使用了外查询的列,而且内查询不能单独运行.

子查询的特点

  1. 子查询很灵活,可以解决很多其他查询方式不能解决的问题

  2. 子查询效率很低,其中相关子查询效率最低

  3. 子查询嵌套的层数越多,则效率越低

为什么相关子查询的效率极其低下?

内查询用到了外查询的列,每次查询行记录时都会迭代表格中

每一行的行记录,而这种迭代中产生的值都是动态生成的.

结论:

性能排序/优先使用
关联/分组查询>无关子查询>相关子查询

找出各个部门中大于他所在部门平均工资的员工名和工资

mysql>select e.first_name,e.salary from s_emp e
      where e.salary>(select avg(e1.salary) from s_emp e1 	         where e1.dept_id = e.dept_id);
e.id = dept_id 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值