MySQL多表查询案例
————————————————————————–
创建3个表:部门表,员工表,工资表。其中部门表和员工表是一对多关系,根据需求完成SQL语句。
话不多说,直接上数据:
– 部门表
CREATE TABLE DEPT(
DEPT_NO INT PRIMARY KEY,
DEPT_NAME VARCHAR(14) , -- 部门名称
DEPT_LOC VARCHAR(13) -- 部门位置
);
– 插入数据
INSERT INTO DEPT VALUES
(10,'ACCOUNTING','NEW YORK'),
(20,'RESEARCH','DALLAS'),
(30,'SALES','CHICAGO'),
(40,'OPERATIONS','BOSTON');
– 员工表(员工和部门是多对一关系)
CREATE TABLE EMP(
EMP_NO INT PRIMARY KEY, -- 员工编号
EMP_NAME VARCHAR(10), -- 员工姓名
EMP_JOB VARCHAR(9), -- 员工工作
EMP_MGR INT, -- 员工直属领导
EMP_HIRDATE DATE, -- 员工入职时间
EMP_SAL DOUBLE , -- 工资
EMP_COMM DOUBLE,-- 奖金
DEPT_NO INT, -- 员工表外键
CONSTRAINT EMP_DEPT_FK FOREIGN KEY (DEPT_NO) REFERENCES DEPT(DEPT_NO)
);
– 插入数据
INSERT INTO EMP
(EMP_NO,EMP_NAME,EMP_JOB,EMP_MGR,EMP_HIRDATE,EMP_SAL,EMP_COMM,DEPT_NO) VALUES
(7369,'SMITH','职员',7566,'1980-12-17',800,NULL,20),
(7499,'ALLEN','销售员',7698,'1981-02-20',1600,300,30),
(7521,'WARD','销售员',7698,'1981-02-22',1250,500,30),
(75