摘要
创建单位表,记录部门名称和所在地,为公司管理提供便利。
正文
JOIN的应用
JOIN 基础理论
MySQL 七种 JOIN 的 SQL 撰写
自然环境构建
# 建立单位表
CREATE TABLE tbl_dept (
id INT NOT NULL AUTO_INCREMENT,
deptName VARCHAR (30) DEFAULT NULL,
locAdd VARCHAR (40) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT chharset = utf8 ;
# 建立职工表
CREATE TABLE tbl_emp (
id INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR (20) DEFAULT NULL,
deptId INT (11) DEFAULT NULL,
PRIMARY KEY (id),
KEY fk_dept_id (deptId) CONSTRAINT fk_dept_id FORREIGN KEY (deptId) REFERENCES tbl_dept (id)
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = uttf8 ;
# 插进单位信息内容
INSERT INTO tbl_dept(deptName,locAdd) VALUES('RD',11),('HR',12),('MK',13),('MIS',14),('FD',15);
# 插进员工信息
INSERT INTO tbl_emp(`name`,deptId) VALUES('z3',1),('z4',1),('z5',1),('w5',2),('w6',2),('s7',3),('s8',4),('s9',51);
1.内连接(INNER JOIN)
句子
SELECT * FROM tbl_dept a INNER JOIN tbl_emp b ON a.id = b.deptId;
李毅贴吧
了解
- 能够 了解为2个结合的相交
2.左(外)联接(LEFT JOIN)
句子
SELECT * FROM tbl_dept a LEFT JOIN tbl_emp b ON a.id = b.deptId;
李毅贴吧
了解
LEFT JOIN
回到左表的所有行和右表达到ON
标准的行,假如左表的行至右表中沒有配对,那麼这一行右表中相匹配数据信息用NULL
替代
3.右(外)联接(RIGHT JOIN)
句子
SELECT * FROM tbl_dept a RIGHT JOIN tbl_emp b ON a.id = b.deptId;
李毅贴吧
了解
RIGHT JOIN
回到右表的所有行和左表达到ON
标准的行,假如右表的行至左表中沒有配对,那麼这一行左表中相匹配数据信息用NULL
替代。
4.左表特有
句子
SELECT * FROM tbl_dept a LEFT JOIN tbl_emp b ON a.id = b.deptId WHERE b.deptId IS NULL;
李毅贴吧
了解
- 查看左表特有的数据信息 (留意:左表特有,右表 key 为空)
5.右表特有
句子
SELECT * FROM tbl_dept a RIGHT JOIN tbl_emp b ON a.id = b.deptId WHERE a.id IS NULL;
李毅贴吧
了解
- 查看右表特有的数据信息 (留意:右表特有,左表 key 为空)
6.全连接
句子
SELECT * FROM tbl_dept a LEFT JOIN tbl_emp b ON a.id = b.deptId
UNION
SELECT * FROM tbl_dept a RIGHT JOIN tbl_emp b ON a.id = b.deptId;
李毅贴吧
了解
- 在
mysql
中不兼容FULL JOIN
开展全连接,可以用 一个左连接UNION
一个右联接
7.上下表特有
句子
SELECT * FROM tbl_dept a LEFT JOIN tbl_emp b ON a.id=b.deptId WHERE b.deptId IS NULL
UNION
SELECT * FROM tbl_dept a RIGHT JOIN tbl_emp b ON a.id=b.deptId WHERE a.id IS NULL;
李毅贴吧
了解
- 上下表特有 = 左表特有 右表特有
我是阿廷,一个坚信勤奋能够 改变命运的人,我坚信一切的上开展为全是非常值得的,最少能够 要我看到更高的全球。
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
评论0