1 .连表查询
为什么需要连表查询?
1.如果查询得结果在一张表中无法获取,需要关联多张表,那么这时就需要连表查询。
2.连表查询大多数都作用在外键得基础上。--- 表与表之间有关联。
1.1 表与表之间存在得关系
一对多: 在多得一方添加外键列
多对多: 需要在创建一个中间表,该表中至少有两个外键列。
1.3 内连接:
连接演示---结果都是一样,只是语法不同。看个人习惯用哪个?
1.查询每一个员工的姓名,及关联的部门的名称〔隐式内连接实现)2.查询每一个员工的姓名,及关联的部门的名称〔显式内连接实现)
DROP TABLE IF EXISTS `tb_emp`;
CREATE TABLE `tb_emp` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '员工编号',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '员工姓名',
`age` int(11) NULL DEFAULT NULL COMMENT '员工年龄',
`job` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '岗位',
`salary` int(11) NULL DEFAULT NULL COMMENT '薪水',
`entrydate` date NULL DEFAULT NULL COMMENT '员工入职时间',
`managerid` int(11) NULL DEFAULT NULL COMMENT '员工领导编号',
`dept_id` int(11) NULL DEFAULT NULL COMMENT '员工所在部门编号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = u