| 图形 | 连接方式 | 说明 | SQL |
|---|---|---|---|
![]() | 内连接 | 共有部分 | SELECT |
![]() | 左连接 | A表独有+共有部分 | SELECT |
![]() | 右连接 | B表独有+共有部分 | SELECT |
![]() | A的独有 | SELECT | |
![]() | B的独有 | SELECT | |
![]() | 全连接 | A的独有+共有部分+B的独有 | SELECT |
![]() | A独有+B独有 | SELECT |
CREATE TABLE `tbl_emp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`) ,
KEY `fk_dept_id`(`deptId`)
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8;
CREATE TABLE `tbl_dept` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`deptName` varchar(30) DEFAULT NULL,
`locAdd` varchar(40) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8;
insert into tbl_dept(deptName,locAdd) values('RD',11);
insert into tbl_dept(deptName,locAdd) values('HR',12);
insert into tbl_dept(deptName,locAdd) values('MK',13);
insert into tbl_dept(deptName,locAdd) values('MIS',14);
insert into tbl_dept(deptName,locAdd) values('FD',15);
insert into tbl_emp(NAME,deptId) values('z3',1);
insert into tbl_emp(NAME,deptId) values('z4',1);
insert into tbl_emp(NAME,deptId) values('z5',1);
insert into tbl_emp(NAME,deptId) values('w5',2);
insert into tbl_emp(NAME,deptId) values('w6',2);
insert into tbl_emp(NAME,deptId) values('s7',3);
insert into tbl_emp(NAME,deptId) values('s8',4);
insert into tbl_emp(NAME,deptId) values('s9',51);
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第8张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qUHuXxvA-1686824977740)(assets/1686824851787-7.png)],第8张](/upload/website_attach/202312/1_BRFJRAY2UMNG2CPQ.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第9张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8stgnQnE-1686824977740)(assets/1686824851788-8.png)],第9张](/upload/website_attach/202312/1_6X8BPDKWMW7H4H8Q.jpeg)
select * from tbl_emp,tbl_dept;
5条数据和8条数据两两组合,一共40条,结果如下
"id" "name" "deptId" "id" "deptName" "locAdd" "1" "z3" "1" "5" "FD" "15" "1" "z3" "1" "4" "MIS" "14" "1" "z3" "1" "3" "MK" "13" "1" "z3" "1" "2" "HR" "12" "1" "z3" "1" "1" "RD" "11" "2" "z4" "1" "5" "FD" "15" "2" "z4" "1" "4" "MIS" "14" "2" "z4" "1" "3" "MK" "13" "2" "z4" "1" "2" "HR" "12" "2" "z4" "1" "1" "RD" "11" "3" "z5" "1" "5" "FD" "15" "3" "z5" "1" "4" "MIS" "14" "3" "z5" "1" "3" "MK" "13" "3" "z5" "1" "2" "HR" "12" "3" "z5" "1" "1" "RD" "11" "4" "w5" "2" "5" "FD" "15" "4" "w5" "2" "4" "MIS" "14" "4" "w5" "2" "3" "MK" "13" "4" "w5" "2" "2" "HR" "12" "4" "w5" "2" "1" "RD" "11" "5" "w6" "2" "5" "FD" "15" "5" "w6" "2" "4" "MIS" "14" "5" "w6" "2" "3" "MK" "13" "5" "w6" "2" "2" "HR" "12" "5" "w6" "2" "1" "RD" "11" "6" "s7" "3" "5" "FD" "15" "6" "s7" "3" "4" "MIS" "14" "6" "s7" "3" "3" "MK" "13" "6" "s7" "3" "2" "HR" "12" "6" "s7" "3" "1" "RD" "11" "7" "s8" "4" "5" "FD" "15" "7" "s8" "4" "4" "MIS" "14" "7" "s8" "4" "3" "MK" "13" "7" "s8" "4" "2" "HR" "12" "7" "s8" "4" "1" "RD" "11" "8" "s9" "51" "5" "FD" "15" "8" "s9" "51" "4" "MIS" "14" "8" "s9" "51" "3" "MK" "13" "8" "s9" "51" "2" "HR" "12" "8" "s9" "51" "1" "RD" "11"
SELECT * FROM tbl_emp a INNER JOIN tbl_dept b ON a.deptId = b.id;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第10张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZ35ILZ2-1686824977740)(assets/1686824851788-9.png)],第10张](/upload/website_attach/202312/1_DR24R5XVUNFCGA3J.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第11张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sNac9oI7-1686824977741)(assets/1686824851788-10.png)],第11张](/upload/website_attach/202312/1_48A4Y2JS2MD82QWP.jpeg)
SELECT * FROM tbl_emp a LEFT JOIN tbl_dept b ON a.deptId = b.id;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第12张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-veaxxZmd-1686824977741)(assets/1686824851788-11.png)],第12张](/upload/website_attach/202312/1_TDDYT8XJM5GG39XT.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第13张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WbjW4vGV-1686824977741)(assets/1686824851788-12.png)],第13张](/upload/website_attach/202312/1_UFYSRRZGRNB83FWC.jpeg)
SELECT * FROM tbl_emp a RIGHT JOIN tbl_dept b ON a.deptId = b.id;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第14张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u96RObbU-1686824977741)(assets/1686824851788-13.png)],第14张](/upload/website_attach/202312/1_YASRHA84ECC3WJN5.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第15张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q9huZfmw-1686824977741)(assets/1686824851788-14.png)],第15张](/upload/website_attach/202312/1_C7HP4HRG29S46TGG.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第16张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hR7svfpX-1686824977742)(assets/1686824851788-15.png)],第16张](/upload/website_attach/202312/1_SBVPVRGVBSQNHXNN.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第17张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BrFmCxzC-1686824977742)(assets/1686824851788-16.png)],第17张](/upload/website_attach/202312/1_N4HGG8P3M3D4G64G.jpeg)
SELECT * FROM tbl_emp a LEFT JOIN tbl_dept b ON a.deptId = b.id WHERE b.id is null;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第18张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KKU8i1R-1686824977742)(assets/1686824851789-17.png)],第18张](/upload/website_attach/202312/1_63V7D94HGUZ922RY.jpeg)
SELECT * FROM tbl_emp a RIGHT JOIN tbl_dept b ON a.deptId = b.id WHERE a.deptId is null;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第19张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FUBJoXE-1686824977742)(assets/1686824851789-18.png)],第19张](/upload/website_attach/202312/1_TMU6PWP88UPT9ZTK.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第20张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-29w3Q3Vf-1686824977742)(assets/1686824851789-19.png)],第20张](/upload/website_attach/202312/1_7VGR874KK34MATM5.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第21张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UrTh9p5N-1686824977743)(assets/1686824851789-20.png)],第21张](/upload/website_attach/202312/1_EPHMX75QJ8ZTNUYF.jpeg)
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第22张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jtIDkl7R-1686824977743)(assets/1686824851789-21.png)],第22张](/upload/website_attach/202312/1_PXCG55NYJ9YEUK54.jpeg)
尝试换一种方式实现:A的独有+共有+B的独有
SELECT * FROM tbl_emp a LEFT JOIN tbl_dept b ON a.deptId = b.id UNION SELECT * FROM tbl_emp a RIGHT JOIN tbl_dept b ON a.deptId = b.id;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第23张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LkhQ6tcO-1686824977743)(assets/1686824851789-22.png)],第23张](/upload/website_attach/202312/1_4RUB2QGVFFTBQHB8.jpeg)
SELECT * FROM tbl_emp a LEFT JOIN tbl_dept b ON a.deptId = b.id UNION SELECT * FROM tbl_emp a RIGHT JOIN tbl_dept b ON a.deptId = b.id WHERE a.deptId is null;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第24张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdkdloFq-1686824977744)(assets/1686824851789-23.png)],第24张](/upload/website_attach/202312/1_PFQ9DGGS7PR8UUYT.jpeg)
SELECT * FROM tbl_emp a LEFT JOIN tbl_dept b ON a.deptId = b.id WHERE b.id is null UNION SELECT * FROM tbl_emp a RIGHT JOIN tbl_dept b ON a.deptId = b.id WHERE a.deptId is null;
![【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,第25张 【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dcf7yHP-1686824977744)(assets/1686824851789-24.png)],第25张](/upload/website_attach/202312/1_XY3X35N797MMW7BN.jpeg)
本文章为本人学习尚硅谷的学习笔记,文章中大部分内容来源于尚硅谷视频(点击学习尚硅谷相关课程),也有部分内容来自于自己的思考,发布文章是想帮助其他学习的人更方便地整理自己的笔记或者直接通过文章学习相关知识,如有侵权请联系删除,最后对尚硅谷的优质课程表示感谢。