--1
select max(sal) ,min(sal) from emp group by deptno;
--2
select max(sal) ,min(sal) from emp where job='CLERK' group by deptno;
--3
select deptno,max(sal) ,min(sal) from emp where job='CLERK' and deptno=(select deptno from emp group by deptno having min(sal)<1000) group by deptno;
--4
select ename,deptno,sal from emp order by deptno desc,sal
--5
select ename,deptno from emp where deptno = (select deptno from emp where ename='张三')
--6
select e.ename,e.job,e.deptno,d.dname from emp e left join dept d on d.deptno=e.deptno
--7
select e.ename,e.job,e.deptno,d.dname from emp e left join dept d on d.deptno=e.deptno where e.job='CLERK'
--8
select e.ename,m.mname from emp e left join mgr m on m.mgr=e.mgr
--9
select * from (select ename, job from emp where job='CLERK') a union all select dname, deptno from dept ;
--10
select e.deptno,e.ename,e.sal from emp e left join (select deptno, avg(sal) SV from emp group by deptno) b on
b.deptno=e.deptno where e.sal>b.SV order by e.deptno ;
--11
select count(e.deptno),e.deptno from emp e left join (select deptno, avg(sal) SV from emp group by deptno) b on
b.deptno=e.deptno where e.sal>b.SV group by e.deptno order by e.deptno;
--12
select e.deptno,count(e.deptno) from emp e left join (select deptno, avg(sal) SV from emp group by deptno) b on
b.deptno=e.deptno where e.sal>b.SV group by e.deptno having count(e.deptno)>1 order by e.deptno;
--把这两个表id查出来组成一个记录集select
id
from
emp1
union
all
select
id
from
sext
------------------id1234145--上面的记录集取别名为t
根据这个t
的id等于emp1的id的条件查出t中记录数小于2的emp1记录select
*
from
emp1
e
where
(select
count(*)from
(select
id
from
emp1
union
all
select
id
from
sext)
twhere
t.id
=
e.id)
<
2---------------------------id
name2
b3
c
希望对你能有所帮助。
汗 看书看个1小时 保证会
很难吗?如果这里面任何一个问题都不会,还面试什么。这是笔试题吧,难道面对面叙述语句?
这个还需要求助我建议您不要去面试了,当务之急先看看书,学好了再去