单元概述
通过本章的学习能够了解MySQL结构查询语言的概念,掌握SELECT查询语句的基本语法,掌握SELECT查询语句中过滤条件的使用,掌握过滤条件中比较运算符和逻辑运算符的使用,掌握查询结果的排序等
单元练习:
- 查询入职时间在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
not in (10,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);
课后练习:
- 查询入职日期在82年至85年的员工姓名,入职日期。
- 查询月薪在3000到5000的员工姓名,月薪。
- 查询部门编号为10或者20的员工姓名,部门编号。
- 查询经理编号为7902, 7566, 7788的员工姓名,经理编号 SELECT ename,hiredate FROM emp WHERE hiredate BETWEEN ‘1982-01-01’ AND ‘1985-12-31’ SELECT ename,sal FROM emp WHERE sal BETWEEN 3000 and 5000 SELECT ename,deptno FROM emp WHERE deptno IN (10,20) SELECT ename,mgr FROM emp WHERE mgr in (7902,7566,7788)
- 查询员工姓名以W开头的员工姓名。
- 查询员工姓名倒数第2个字符为T的员工姓名。
- 查询奖金为空的员工姓名,奖金。 SELECT ename FROM emp WHERE ename LIKE ‘W%’ SELECT ename FROM emp WHERE ename LIKE ‘%T_’ SELECT ename,comm FROM emp WHERE comm is null 1.查询工资超过2000并且职位是 MANAGER或SALESMAN的员工姓名、职位、工资 SELECT ename,job,sal FROM emp WHERE hiredate >2000 AND job IN (‘MANAGER’,’SALESMAN’)
- 查询部门在10或者20,并且工资在3000到5000之间的员工姓名、部门、工资。
- 查询入职日期在81年,并且职位不是SALES开头的员工姓名、入职日期、职位。
- 查询职位为SALESMAN或MANAGER,部门编号为10或者20,姓名包含A的员工姓名、职位、部门编号。 SELECT ename,hiredate,salSELECT ename,hiredate,sal FROM emp WHERE deptno in (10,20)and sal BETWEEN 3000 and 5000 SELECT ename,hiredate,job FROM emp WHERE hiredate LIKE ‘1981%’and job not like ‘SALES%’ SELECT ename,job,deptno FROM emp WHERE job in (‘SALESMAN’,’MANAGER’)AND deptno IN (10,20)AND ename LIKE ‘%A%’AND ename LIKE ‘%A%’ 1.查询部门在20或30的员工姓名,部门编号,并按照工资升序排序。 SELECT ename,deptno FROM emp WHERE deptno IN (20,30) ORDER BY sal ASC 2.查询工资在2000-3000之间,部门不在10号的员工姓名,部门编号,工资,并按照部门升序,工资降序排序。 SELECT ename,deptno,sal FROM emp WHERE sal BETWEEN 2000 AND 3000 AND deptno <> 10 ORDER BY deptno ASC,sal DESC 3.查询入职日期在82年至83年之间,职位以SALES或者MAN开头的员工姓名,入职日期,职位,并按照入职日期降序排序 SELECT ename,hiredate,job FROM emp WHERE hiredate BETWEEN ‘1982-01-01’ AND ‘1982-12-31’AND (job like ‘SALES%’ or job like ‘MAN%’) ORDER BY hiredate DESC
1.查询入职日期最早的前5名员工姓名,入职日期
SELECT ename,hiredate FROM emp ORDER BY hiredate ASC LIMIT 0,5;
2.查询20号部门下入职日期最早的前2名员工姓名,入职日期。
SELECT ename,hiredate FROM emp,dept WHERE emp.deptno=dept.deptno AND dept.deptno=20 ORDER BY hiredate ASC LIMIT 0,2;
3.按照每页显示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
Original: https://www.cnblogs.com/Aegeansea666/p/16484379.html
Author: Aegeansea666
Title: 重新学习数据库(1)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622765/
转载文章受原作者版权保护。转载请注明原作者出处!