数据库小练习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;

posted on 2022-04-10 15:53  博塬  阅读(94)  评论(0编辑  收藏  举报