第三章 限制数据和对数据排序 练习 (不完整)

-- 月薪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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值