MySQL高级系列-7种join理论
282 字
1 分钟
MySQL高级系列-7种join理论
1. SQL JOINS

2. 创建表
-- 部门表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 DEFAULT CHARSET=utf8;
-- 员工表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 `deptId` (`deptId`) # CONSTRAINT `tbl_emp_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tbl_dept` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=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`(`id`, `name`, `deptId`) VALUES (1, 'z3', 1);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (2, 'z4', 1);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (3, 'z5', 1);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (4, 'w5', 2);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (5, 'w6', 2);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (6, 's7', 3);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (7, 's8', 4);INSERT INTO `tbl_emp`(`id`, `name`, `deptId`) VALUES (8, 's9', 51);3.join查询
-
内连接(图中间 查询两张表的公有部分)

1609314437480 -
左连接(图左上 查询员工表的全部 部门表没有补NULL)

1609314590154 -
右连接(图右上 查询部门表的全部 员工表没有补NULL)

1609314880228 -
左外连接(图左中 查询员工表独有的数据)

1609315308259 -
右外连接(图右中 查询部门表独有的数据)

1609315456130 -
全连接 (图下中 MySQL不支持 FULL OUTER JOIN 需要
曲线救国)
1609315912507 
1609316048196
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
MySQL高级系列-索引
MySQLMySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构(有序)。所以,就可以得到索引的本质:索引是有序的数据结构。
2
MySQL高级系列-查询分析
MySQL优化原则:小表驱动大表,即小的数据集驱动大的数据集
3
MySQL高级系列-性能分析
MySQLMySQL中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中搜集到的统计信息,为客户端请求的Query提供它认为最优执行计划(它认为最优的数据检索方式,但不见得是DBA认为是最优的)。
4
MySQL高级系列-数据库锁
MySQL针对同一份数据,多个读操作可以同时进行而不会相互影响
5
架构设计中的MySQL设计原则
MySQL单台服务器的存储能力及数据处理能力都是有限的, 因此需要增加服务器, 搭建集群来存储海量数据。
随机文章随机推荐


