作业:
1.查询部门在20或30的员工姓名,部门编号,并按照工资升序排序。
SELECT ename,deptno,sal
FROM emp
WHERE deptno in(20,30)
ORDER BY sal ASC;
2.查询工资在2000-3000之间,部门不在10号的员工姓名,部门编号,工资,并按照部门升序,工资降序排序。
SELECT ename,deptno,sal
FROM emp
WHERE deptno!=10 AND sal BETWEEN 2000 AND 3000
ORDER BY deptno ASC,sal DESC;
3.查询入职日期在82年至83年之间,职位以SALES或者MAN开头的员工姓名,入职日期,职位,并按照入职日期降序排序。
SELECT ename,hiredate,job
FROM emp
WHERE (hiredate BETWEEN '1982-01-01' AND '1983-12-31')
AND (job LIKE 'SALES%' OR job LIKE 'MAN%')
ORDER BY hiredate DESC;
4.查询入职日期最早的前5名员工姓名,入职日期。
SELECT ename,hiredate
FROM emp
ORDER BY hiredate
LIMIT 0,5
5.查询部门编号为10并且入职日期最早的前2名员工姓名,入职日期。
SELECT ename,hiredate
FROM emp
WHERE deptno=10
ORDER BY hiredate ASC
LIMIT 0,2;
6.按照每页显示5条记录,分别查询第1页,第2页,第3页信息,要求显示员工姓名、入职日期、部门编号。
SELECT ename,hiredate,deptno
FROM emp
LIMIT 0,5;
SELECT ename,hiredate,deptno
FROM emp
LIMIT 5,5;
SELECT ename,hiredate,deptno
FROM emp
LIMIT 10,5;
7.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。
SELECT ename,hiredate,job
FROM emp
WHERE hiredate>'1982-7-9' AND job!='SALESMAN';
8.查询员工姓名的第三个字母是a的员工姓名。
SELECT ename
FROM emp
WHERE ename LIKE '__A%';
9.查询除了10、20号部门以外的员工姓名、部门编号。
SELECT ename,deptno
FROM emp
WHERE deptno NOT IN(10,20);
10.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。
SELECT *
FROM emp
WHERE deptno=30
ORDER BY sal DESC,ename ASC;
11.查询没有上级的员工(经理号为空)的员工姓名。
SELECT ename
FROM emp
WHERE mgr IS NULL;
12.查询工资大于等于4500并且部门为10或者20的员工的姓名、工资、部门编号。
SELECT ename,sal,deptno
FROM emp
WHERE sal>=4500 AND deptno IN(10,20);