;OY'A1[$W0 最近在学习Oracle,对测试人员而言必须掌握两种语言:第一种是DML,数据操纵语言 (Data Manipulation Language) 是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除。第二种是:DQL,数据查询语言 (Data Query Language) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。核心指令为SELECT,以及一些辅助指令,如FROM、WHERE等,FROM: WHERE:GROUP BY:HAVING:ORDER BY:51Testing软件测试网JC9daPPO9_E
k
%w*P x%pT0 一下是必须掌握的SQL习题:
^ h&x;WA%v051Testing软件测试网,Z#ET9A
R*?'`I1、列出至少有一个员工的所有部门51Testing软件测试网&]O)s edQ!BgC
select d.*,ed.cou51Testing软件测试网G
BnN$E0o!y
from dept d,(select deptno,count(empno) cou from emp51Testing软件测试网MC0SF)At o
group by deptno having count(empno)>1) ed51Testing软件测试网8ai
s vfu,[j
where d.deptno=ed.deptno;
#xs}8?\5n m)@H02、列出薪金比“SMITH”多的所有员工。51Testing软件测试网6F9~|1j(j%lC#k9UFf
·求出SMITH的薪金51Testing软件测试网El9q _B2Ql
select sal from emp where ename='SMITH';51Testing软件测试网%vf$ok;CK;G
·求所有
iffS7o,Z0select * from emp51Testing软件测试网|4K HRs(D9[Nh2K:z0]WB
where sal>(select sal from emp where ename='SMITH');51Testing软件测试网1A!xlUbd&C
3、列出所有员工的姓名及其直接上级的姓名
\$]E(OLmpH0select e.ename,m.ename
!H9F+x6Iv5}7|N^0from emp e,emp m
j6V7q$e%D4wW0where e.mgr=m.empno(+);
6_0z8C:p(jX3E-q-Xm04、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称51Testing软件测试网P%gJ)cy%N
select e.empno,e.ename,d.dname51Testing软件测试网/DWIZXC xT
from emp e,emp m,dept d51Testing软件测试网Hh:kSx]
where e.mgr=m.empno and e.hiredate<m.hiredate and e.deptno=d.deptno;51Testing软件测试网DE]}&J%q'z9@{~
5、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门,
.lsT
PO0select d.deptno,d.dname,e.empno,e.ename51Testing软件测试网I'C ?D%l
z
from dept d,emp e51Testing软件测试网'tB.ji%}(g(]%V
where d.deptno=e.deptno(+);
I/F'{b(nX$Mg!X"V06、列出所有“CLERK”人员的姓名及其部门名称,部门的人数51Testing软件测试网!C0Y`"n3j
select e.ename,d.dname,ed.cou51Testing软件测试网@ X6[#{,Pc-o1A*q5l'qq
from emp e,dept d,(select deptno,count(empno) cou from emp group by deptno) ed