mysql子查询
EMPLOYEE_ID NUMBER Primary Key,
FIRST_NAME VARCHAR2(25),
LAST_NAME VARCHAR2(25),
Salary number(8,2),
HiredDate DATE,
Departmentid number(2)
TableDepartments Structure:
Departmentid number(2) Primary Key,
DepartmentName VARCHAR2(25).
基于上述EMPLOYEES表写出查询:查出部门平均工资大于1800元的部门的所有员工,列出这些员工的全部个人信息。
mysql>select id,name,salary,deptid did from employee1 where (select avg(salary)
from employee1 where deptid = did) > 1800;
上面的查询我第一次没想出来,我自己想的是这样的
mysql>select id,name,salary,deptid did from employee1 where deptid in(select deptid,
avg(salary) from employee1 group by deptid having avg(salary)>1800)
请高手指教上面二种方式之间的区别,总感觉方法一怪怪的,分析下两者之间性能上的差别
相关推荐
mysql子查询的用法
NULL 博文链接:https://thetopofqingshan.iteye.com/blog/1518502
MySQL数据库update更新子查询
比如: UPDATE test.tb_vobile a set a.name = '111 ' WHERE a.id = (select max(id) id from test.tb_vobile) 报错: [SQL]UPDATE test.tb_vobile a set a.name = '111 ' WHERE a.id = (select max(id) id from test.tb_vobile) 以下可通过: UPDATE test.tb_vobile a join (select max(id) id
MySQL中表子查询与关联子查询的基础学习教程
主要介绍了MySQL中表子查询与关联子查询的基础学习教程,同时文中也提到了关于关联子查询的查询效率问题,需要的朋友可以参考下
实例详解mysql子查询
子查询分类 按返回结果集分类 子查询按返回结果集的不同分为4种:表子查询,行子查询,列子查询和标量子查询。 表子查询:返回的结果集是一个行的集合,N行N列(N>=1)。表子查询经常用于父查询的FROM子句中。 行子查询:返回的结果集是一个列的集合,一行N列(N>=1)。行子查询可以用于福查询的FROM子句和WHERE子句中。 列子查询:返回的结果集是一个行的集合,N行一列(N>=1)。 标量子查询:返回的结果集是一个标量集合,一行一列,也就是一个标量值。可以指定一个标量表达式的任何地方,都可以用一个标量子查询。 从定义上讲,每个标量子查询也是一个行子查询和一个列子查询,反之则不是;每个行子查询
对MySQL子查询的简单改写优化
主要介绍了对MySQL子查询的简单改写优化,文中的小修改主要将子查询改为关联从而降低查询时关联的次数,需要的朋友可以参考下



