CREATE TABLE DEPT( DEPTNO int PRIMARY KEY, DNAME VARCHAR(14), LOC VARCHAR(13) ); INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS'); INSERT INTO DEPT VALUES (30,'SALES','CHICAGO'); INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');
DEPTNO --部门编号,DNAME --部门名称,LOC --部门位置
CREATE TABLE EMP(
EMPNO int PRIMARY KEY,
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR int,
HIREDATE DATE,
SAL double(7,2),
COMM Double(7,2),
DEPTNO int
);
INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902, '1980-12-17', 800,NULL,20);
INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698, '1981-2-20', 1600,300,30);
INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698, '1981-2-22', 1250,500,30);
INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839, '1981-4-2', 2975,NULL,20);
INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698, '1981-9-28', 1250,1400,30);
INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839, '1981-5-1', 2850,NULL,30);
INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839, '1981-6-9', 2450,NULL,10);
INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566, '87-7-13',3000,NULL,20);
INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL, '1981-11-17', 5000,NULL,10);
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698, '1981-9-8', 1500,0,30);
INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788, '1987-7-13',1100,NULL,20);
INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698, '1981-12-3', 950,NULL,30);
INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566, '1981-12-3', 3000,NULL,20);
INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782, '1982-1-23', 1300,NULL,10);
EMPNO --员工编号,ENAME --员工姓名,JOB --工作,MGR --直属领导编号,HIREDATE --入职时间,SAL --工资,COMM--奖金,DEPTNO --部门编号
CREATE TABLE SALGRADE(
GRADE INT,
LOSAL INT,
HISAL INT
);
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
GRADE --工资等级,LOSAL --最低工资,HISAL --最高工资
导入上面三张表后,可以练习下面的mysql题目
1. 查询各个部门薪资最高的人
2. 取得平均薪水最高的部门的部门编号
3. 取得平均薪水最高的部门的部门名称
4. 求平均薪水的等级最低的部门的部门名称
5. 取得比普通员工(员工代码没有在mgr字段上出现的)的最高薪水还要高的*姓名
6. 取得薪水最高的前五名员工
7. 取得薪水最高的第六到第十名员工
8. 取得最后入职的5名员工
9. 取得每个薪水等级有多少员工
10. 列出所有员工及领导的姓名
11. 列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称
12. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
13. 列出至少有5个员工的所有部门
14.列出薪金比"SMITH"多的所有员工信息
15. 列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数
16. 列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数
17. 列出在部门"SALES"<销售部>工作的员工的姓名,假定不知道销售部的部门编号
18. 列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,雇员的工资等级
19. 列出与"SCOTT"从事相同工作的所有员工及部门名称
20. 列出薪金等于部门30中员工的薪金的其他员工的姓名和薪金
21. 列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金.部门名称
22. 列出在每个部门工作的员工数量,平均工资和平均服务期限
23. 列出所有员工的姓名、部门名称和工资
24. 列出所有部门的详细信息和人数
25. 列出各种工作的最低工资及从事此工作的雇员姓名
26. 列出各个部门的MANAGER(领导)的最低薪金
27. 列出所有员工的年工资,按年薪从低到高排序
28. 求出员工领导的薪水超过3000的员工名称与领导名称
29. 求出部门名称中,带'S'字符的部门员工的工资合计、部门人数
30. 给任职日期超过30年的员工加薪10%