数据库小练习1:
1. 查询出部门编号为30的所有员工:
SELECT * FROM emp WHERE deptno=30;
2. 所有销售员的姓名、编号和部门编号。
SELECT ename,empno,mgr FROM emp;
3. 找出奖金高于工资的员工。
SELECT ename FROM emp WHERE comm > sal;
4. 找出奖金高于工资的60%的员工。
SELECT * FROM emp WHERE comm > sal*0.6;
5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。
SELECT * FROM emp WHERE (deptno=10 AND job='经理') OR (deptno=20 AND job='销售员');
6. 找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。
SELECT * FROM emp WHERE (deptno=10 AND job='经理') OR (deptno=20 AND job='销售员')
OR (job<>'经理''销售员' AND sal>=20000);
7. 无奖金或奖金低于1000的员工。
SELECT * FROM emp WHERE comm IS NULL OR comm<=1000;
8. 查询名字由三个字组成的员工。
SELECT * FROM emp WHERE ename LIKE '___' ;
9.查询2000年入职的员工。
SELECT * FROM emp WHERE hiredate LIKE '2000%';
10. 查询所有员工详细信息,用编号升序排序
SELECT * FROM emp ORDER BY empno;
11. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序
SELECT * FROM emp ORDER BY sal DESC,hiredate ASC;
12. 查询姓周的两个名字的员工。
SELECT * FROM emp WHERE ename LIKE '周_';
13. 查询所有姓张的员工。
SELECT * FROM emp WHERE ename LIKE '张%';
14. 查询该公司有多少个岗位,每个岗位有多少人。
SELECT job,COUNT(*)FROM emp GROUP BY job;
15. 查询哪个岗位中人数大于3。
SELECT job FROM emp GROUP BY job HAVING COUNT(*)>3;