ex:查詢大於公司平均工資的員工姓名:性能
select avg(sal) from emp; /* avg(sal)=2000 */ select * from emp where sal >= 2000; /* 將上面的語句合併 */ select * from emp where sal >= (select avg(sal) from emp);
ex:查詢出工資比anthony還要高的所有僱員信息:spa
select sal from emp where name='anthony'; /* anthony的工資爲10000 */ select * from emp where sal >= 10000; /* 將上面的語句合併 */ select * from emp where sal >= (select sal from emp where name='anthony');
根據子查詢的結果來劃分的code
與返回列表中的任意一個值相等
ex:查詢工資等於部門經理的員工信息圖片
select sal from emp where job ='manager'; /* 先查詢部門經理的工資 */
與返回的任意一個值比較it
與返回的值每個值比較io
select d.deptno,d.dname,temp.c,temp.a from dept d join (select deptno,count(empno) c,avg(sal) a from emp group by deptno) temp on using(deptno);
join用於把表橫向鏈接,union/union all用於把表縱向鏈接
注意:class
-列也必須擁有兼容的數據類型select
select empno,ename,dname from emp left join dept using(deptno) union select empno,ename,dname from emp right join dept using(deptno);