【MySQL】经典练习题(部门表、员工表、工资表)

2023-10-14 10:27:36 浏览数 (1)

-- 部门表

代码语言:javascript复制
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');

-- 员工表

代码语言:javascript复制
CREATE TABLE EMP
    (
	EMPNO INT  PRIMARY KEY,  -- 员工编号
    ENAME VARCHAR(10),  -- 员工名称
    JOB VARCHAR(9), -- 工作
    MGR DOUBLE, -- 直属领导编号
    HIREDATE DATE,  -- 入职时间
    SAL DOUBLE, -- 工资
    COMM DOUBLE, -- 奖金
    DEPTNO INT, -- 部门号
FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO));

INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);

-- 工资等级表

代码语言:javascript复制
CREATE TABLE SALGRADE
      ( GRADE INT,  -- 工资等级
    LOSAL DOUBLE, -- 最低工资
HISAL DOUBLE ); -- 最高工资
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);

 -- 1.返回拥有员工的部门名、部门号。(dept,emp)

-- 2.工资水平多于'ALLEN'的员工信息。

-- 3.返回员工和直属领导的姓名。(自连接)

-- 4.返回雇员的雇佣日期早于其领导雇佣日期的员工及其领导姓名。(在日期类型可以直接比较)

-- 5.返回员工姓名及其所在的部门名称。

-- 6.返回部门号及其本部门的最低工资。

-- 7.返回销售部(sales)所有员工的姓名。(dname=“sales”)

-- 8.返回工资多于平均工资的员工。

-- 9.返回与部门编号为30的部门员工工资水平相同的员工姓名与工资。

-- 10..返回员工的姓名、所在部门名及其工资。

-- 11.返回员工工作及其从事此工作的最低工资。

-- 12.返回不同部门经理的最低工资。

-- 13.计算出员工的年薪,并且以年薪排序。

-- 14.返回工资处于第四级别的员工的姓名。

-- 15.返回工资为二等级的职员名字、部门所在地、和二等级的最低工资和最高工资.

0 人点赞