1. 查询出部门编号为30的所有销售的详细信息
SELECT * FROM emp WHERE deptno=30;
2. 所有分析师的姓名、编号和部门编号。
SELECT * FROM emp WHERE job='分析师';
3. 找出奖金高于工资的员工。
SELECT * FROM emp WHERE comm > sal;
4. 找出奖金高于工资60%的员工。(提示:*0.6)
SELECT * FROM emp WHERE comm > sal*60;
5. 找出部门编号为10中所有经理,和部门编号为30中所有销售员的详细资料。
SELECT * FROM emp WHERE deptno=10 AND job='经理' OR (deptno=30 AND job='销售员');
6. 找出有奖金的员工。
SELECT * FROM emp WHERE comm >0;
7. 找出部门编号为10中所有经理,部门编号为30中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。
SELECT * FROM emp WHERE deptno=10 AND job='经理' OR deptno=30 AND job='销售员' OR (job NOT IN('经理','销售员')AND sal>=20000);
8. 无奖金或奖金低于1000的员工。
SELECT * FROM emp WHERE comm=0 OR comm < 1000;
9. 查询20号部门名字由三个字组成的员工。
SELECT * FROM emp WHERE deptno=20 AND ename LIKE '___';
10.查询2001年入职的且薪资加上奖金不低于20000员工。
SELECT *FROM emp WHERE hiredate LIKE '2001%' AND sal+IFNULL(comm,0)>20000;
11. 查询30号部门的所有员工详细信息,将入职时间按升序排,工资按降序排
SELECT * FROM emp WHERE deptno=30 ORDER BY hiredate ASC,sal DESC;
12. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序
SELECT * FROM emp ORDER BY sal DESC,hiredate ASC;
13. 找出工资等于3万的员工的名字、职位、部门
SELECT ename,job,deptno FROM emp WHERE sal=30000;
14. 查询出哪些文员和经理的工资在1 .5 万到2 .5 万之间
SELECT * FROM emp WHERE job IN('经理','文员') AND sal BETWEEN 15000 AND 25000;
15. 找出名字中包含“一”字的员工信息
SELECT * FROM emp WHERE ename LIKE'%一%';
16. 将emp表按每页4条数据分页,查询出第三页的所有数据
SELECT * FROM emp LIMIT 8,4;
17. 查询出所有奖金(comm)字段不为空的人员的所有信息。
SELECT * FROM emp WHERE comm IS NOT NULL;
18. 查询出薪水在15000到25000之间(闭区间)所有员工的信息。(注:使用两种方式实现and以及between and)
SELECT * FROM emp WHERE sal>=15000 AND sal<=25000;
SELECT * FROM emp WHERE sal BETWEEN 15000 AND 25000;
19. 查询出员工号为1003,1004,1005的所有员工的信息。(注:使用两种方式实现,or以及in)
SELECT * FROM emp WHERE empno IN(1003,1004,1005);
SELECT * FROM emp WHERE empno=1003 OR empno=1004 OR empno=1005;