数据库
首页 > 数据库> > 【Mysql】多表查询

【Mysql】多表查询

作者:互联网

  1. 连接是一定会发生笛卡尔积的(产生的是一张所有组合的表),所以要有消除的手法,一般就是指定符合条件的一行(用where来筛选符合条件的选项就行了)

表关系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接查询

连接是一定会发生笛卡尔积的(产生的是一张所有组合的表),所以要有消除的手法,一般就是指定id(用where来筛选符合条件的选项就行了)
在这里插入图片描述

消除笛卡尔积,用一个相等id
在这里插入图片描述

在这里插入图片描述
两大类多表查询
在这里插入图片描述

内连接

在这里插入图片描述
非交集是什么?(dept_id与dept表的id相关联)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

外连接

在这里插入图片描述
由于有一名员工不属于任何部门,所以要用到左连接(注意左右是针对书写顺序来说的)
在这里插入图片描述
在这里插入图片描述

自连接

就是自己连接自己可以是任何链接方法
在这里插入图片描述
先看有如下表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

联合查询

在这里插入图片描述
有两个注意点
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

子查询(嵌套查询)

注意子查询放的位置:select,where,from
在这里插入图片描述

标量子查询

在这里插入图片描述
在这里插入图片描述

列子查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

all的使用

在这里插入图片描述

any的使用

在这里插入图片描述

行子查询

一行但是多列
在这里插入图片描述

在这里插入图片描述

表子查询

多行多列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:多表,笛卡尔,连接,查询,Mysql,where,id
来源: https://blog.csdn.net/qq_43398404/article/details/123166711