微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql常用sql语句14- 多表查询

测试必备的MysqL常用sql语句系列

https://www.cnblogs.com/poloyy/category/1683347.html

 

前言

  • 实际工作中,每次查询基本都是需要结合多个表去查询数据,所以MysqL多表查询我们必须掌握
  • 多表查询可以是两张表,也可以是很多张表,取决于需要查询的数据要关联多少张表

 

有哪些多表查询

  • cross join:交叉连接
  • inner join:内连接
  • left join:左外连接
  • right join:右外连接
  • union、union all:全连接

 

多表查询的区别

查询类型 简述 图表
inner join

获取两个表中字段相互匹配关系的记录

即两表记录都不为null才会返回

left join

获取左表所有记录

右表为空的字段补null

right join

获取右表所有记录

左表为空的字段补null

union 获取左右表所有记录

cross join 两张表的笛卡尔积  

 

执行sql

后面详细讲每种多表查询的时候,会用到这些数据表和数据;先跑一跑创建下哦!

DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp`  (
  `id` int(11) NOT NULL COMMENT '员工编号',`name` varchar(255) CHaraCTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 员工姓名11) 部门编号leader` 直属领导id是否在职 1在职 0离职PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;


INSERT INTO `emp` VALUES (1,张三丰',0,1); font-weight: bold">1);
2,1)">张无忌3,1)">小龙女4,1)">小白菜5,1)">韦小宝6,1)">令狐冲7,1)">东方不败8,1)">任我行9,1)">李寻欢);


 `dept`;
 `dept`  (
  `id` 部门id部门名称 Compact;

INTO `dept` 销售部信息技术部财务部有关部门');

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐