常用Oracle增删改查SQL语句.pdf
文本预览下载声明
模块一 #PNI+ANI,
K P
l 基本SQL 查询
l 运算符与函数
l 子查询
l 连接查询
建表语句emp.sql
P I(第一天)
01. 查询员工表所有数据, 并说明使甚*的缺ࣁ
答:
select * from emp;
使甚*的缺ࣁ有
a) 查询出了不必要的列
b) 效उ上不如直接指定列名
02. 查询职位(JOB)为PRESIDENT的员工的工资
答:
select * from emp where job = PRESIDENT;
03. 查询佣金(COMM)为0 或为NULL 的员工信息
答:重ࣁ是ग解0 与null 的区别
select * from emp where comm = 0 or comm is null;
04. 查询入职日期在 1981-5-1 到 1981-12-31 之间的所有员工信息
答:通过题掌握常甚日期函数
select * from emp where hiredate
between to_date(1981-5-1,yyyy-mm-dd) and to_date(1981-12-31,yyyy-mm-dd);
05. 查询所有名字长度为4 的员工的员工编号,姓名
答:
select * from emp where length(ename) = 4;
06. 显示 10 号部门的所有经ग(MANAGER)和20 号部门的所有职员(CLERK)的详细信息
答:
select * from emp where deptno = 10 and job = MANAGER or deptno = 20 and job =CLERK;
07. 显示姓名中ࡣ有L字的员工的详细信息或含有SM字的员工信息
答:考察知识ࣁ糊查询
select * from emp where ename not like %L% or ename like %SM%;
08. 显示各个部门经ग(MANAGER)的工资
答:
select sal from emp where job = MANAGER;
09. 显示佣金(COMM)收入ࡌ工资(SAL)高的员工的详细信息
答:
select * from emp where comm sal;
10. 把hiredate 列看做是员工的日,ࡗ本月过日的员工(考察知识ࣁ:单行函数)
答:
select * from emp where to_char(hiredate, mm) = to_char(sysdate , mm);
11. 把hiredate 列看做是员工的日,ࡗ下月过日的员工(考察知识ࣁ:单行函数)
答:
select * from emp where to_char(hiredate, mm) = to_char(add_months(sysdate,1) , mm);
12. ࡗ 1982 年入职的员工(考察知识ࣁ:单行函数)
答:
select * from emp where to_char(hiredate,yyyy) = 1982;
13. ࡗ 1981 年下半年入职的员工(考察知识ࣁ:单行函数)
答:
select * from emp where hiredate
between to_date(1981-7-1,yyyy-mm-dd) and to_date(1982-1-1,yyyy-mm-dd) - 1;
14. ࡗ 1981 年各个月入职的的员工个数(考察知识ࣁ:组函数)
答:
select count(*), to_char(trunc(hiredate,month),yyyy-mm)
from emp where to_char(hiredate,yyyy)=1981
group by trunc(hiredate,month)
order by trunc(hiredate,month);
P II(第二天)
01. 查询各个部门的平均工资
答:考察知识ࣁ:分组
select deptno,avg(sal) from emp group by deptno;
02. 显示各种职位的最低工资
答:考察知识ࣁ:分组
select job,min(sal) from emp group by job;
03. 按ࣦ入职日期由新到旧排列员工信息
答:考察知识ࣁ:排序
select * from emp order by hiredate desc;
04. 查询员工的
显示全部