-- 月薪3000-5000的员工姓名和月薪
SELECT ENAME,SAL
FROM emp
WHERE SAL BETWEEN 3000 AND 5000;
-- 查询部门编号为10或者20的员工姓名和部门编号
SELECT ENAME,DEPTNO
FROM emp
WHERE DEPTNO IN(10,20);
-- 查询经理编号为7902,7566,7788的员工姓名和经理编号
SELECT ENAME,MGR
FROM emp
WHERE MGR IN(7902,7566,7788);
-- 查询员工姓名倒数第二个字符为T的员工姓名.
SELECT ENAME
FROM emp
WHERE ENAME LIKE '%T_';
-- 查询奖金为空的员工姓名,奖金
SELECT ENAME,COMM
FROM emp
WHERE COMM IS NULL;
-- 查询工资超过2000并且职位时manager,或者职位时salesman的员工姓名,职位,工资
SELECT ENAME,JOB,SAL
FROM emp
WHERE SAL>2000 AND JOB='MANAGER' OR JOB='SALESMAN' ;
-- 查询工资超过2000并且职位时manager,或salesman的员工姓名,职位,工资
SELECT ENAME,JOB,SAL
FROM emp
WHERE SAL>2000 AND JOB='MANAGER' OR JOB='SALESMAN' AND SAL>2000;
-- 查询部门在10或者20,丙炔工资在3000到5000之间的员工姓名和部门和工资
SELECT ENAME,SAL,DEPTNO
FROM emp
WHERE DEPTNO IN(10,20) AND SAL BETWEEN 3000 AND 5000;
-- 查询入职日期在81年,并且职位不是SALES开头的员工姓名 入职日期 职位
SELECT ENAME,JOB,HIREDATE
FROM emp
WHERE SUBSTRING(HIREDATE,3,2)='81' AND JOB NOT LIKE 'SALES%';
-- 查询职位为SALESMAN或MANAGER,部门编号为10或者20,姓名包含A的员工姓名 职位 部门编号
SELECT ENAME,JOB,DEPTNO
FROM emp
WHERE (JOB='SALESMAN' OR JOB='MANAGER') AND (DEPTNO IN(10,20)) AND (ENAME LIKE '%A%');
-- 查询部门在20或30的员工姓名,部门编号,并按照工资升序排序
SELECT ENAME,DEPTNO,SAL
FROM emp
WHERE DEPTNO IN(20,30)
ORDER BY SAL ASC;
-- 查询工资在2000-3000之剑,部门不在10号的员工姓名 部门编号 工资
-- 并按照部门升序,工资降序排序
SELECT ENAME,DEPTNO,SAL
FROM emp
WHERE (SAL BETWEEN 2000 AND 3000) AND (DEPTNO <>10)
ORDER BY DEPTNO ASC , SAL DESC;
-- 查询入职日期在82年至83年之间,职位以SALES或者MAN开头的
-- 员工姓名 入职日期 职位 并按照入职日期降序排序
SELECT ENAME,HIREDATE,JOB
FROM emp
WHERE (SUBSTR(HIREDATE,3,2) BETWEEN 82 AND 83) AND (JOB LIKE 'SALES%' OR JOB LIKE 'MAN%')
ORDER BY HIREDATE DESC;
-- 查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名 入职时间 职位。
SELECT ENAME,HIREDATE,JOB
FROM emp
WHERE (HIREDATE>'1982-7-9') AND JOB <> 'SALESMAN';
-- 查询员工姓名的第三个字母是a的员工姓名
SELECT ENAME
FROM emp
WHERE ENAME LIKE '__a%';
-- 查询除了10、20号部门以外的员工姓名、部门编号
SELECT ENAME,DEPTNO
FROM emp
WHERE DEPTNO <>10 AND DEPTNO <>20;
-- 查询部门号为30号的员工的信息。先按工资降序排序,再按姓名升序排序
SELECT *
FROM emp
WHERE DEPTNO = 30
ORDER BY SAL DESC , ENAME ASC;
-- 查询没有上级的员工(经理号为空)的员工姓名。
SELECT ENAME
FROM emp
WHERE MGR IS NULL;
-- 查询工资大于等于4500并且部门为10或者20的员工姓名 工资 部门编号
SELECT ENAME,SAL,DEPTNO
FROM emp
WHERE (SAL >=4500) AND DEPTNO IN(10,20);
第三章 限制数据和对数据排序 练习 (不完整)
最新推荐文章于 2022-08-01 08:27:23 发布