【MySQL6】DQL连接查询

(以下的图均截图自B站视频,链接如下【MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷-哔哩哔哩】内容仅用作学习,侵删)


目录

总览

1、DQL(data query language) 基础查询

2、DML(data manipulation language)

3、DDL(data definite language)

4、TCL(transation control language)

5、视图的讲解

6、存储过程和函数

7、流程控制结构


详细

DQL

7 连接查询

7.1 笛卡尔乘积

7.2 分类

7.3 等值连接(sql92标准)

7.3.1 等值连接

 7.3.2 为表起别名

7.3.3 加筛选

7.3.4 加分组

7.3.5 加排序

7.3.6 三表连接

7.3.7 总结 

 7.4 非等值连接(sql92标准)

 7.5 自连接(sql92标准)

7.6 等值连接(sql99标准)

7.6.1 语法与分类

7.6.2 内连接

7.6.3 外连接 

​7.6.4 全外连接


总览

1、DQL(data query language) 基础查询

条件查询

排序查询

常见函数

分组函数

分组查询

连接查询

子查询

分页查询

union联合查询

2、DML(data manipulation language)

插入语句
修改语句

删除语句

3、DDL(data definite language)

库和表的管理
常见数据类型介绍

常见约束

4、TCL(transation control language)

事务和事务处理

5、视图的讲解
6、存储过程和函数
7、流程控制结构


详细

DQL

7 连接查询

含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询

7.1 笛卡尔乘积

 如图: 

 案例:

 要点:

1、红色框中限定表:“id”是哪个表的id。


7.2 分类

按年代:sql92标准(仅仅支持内连接)、sql99标准(推荐)(支持内连接+外连接(左外和右外)+交叉连接)

按功能:内连接(等值连接、非等值连接、自连接)、外连接(左外连接、右外连接、全外连接)、交叉连接


7.3 等值连接(sql92标准)

7.3.1 等值连接

案例:


 7.3.2 为表起别名

好处:

1、提高语句的简洁度

2、区分多个重名的字段

案例:

 

 要点:

1、如果为表起了别名,则查询的字段就不能使用原来的表名去限定。

2、两个表的顺序可以调换。 


7.3.3 加筛选

 要点:

1、不能再使用where。


7.3.4 加分组

 


7.3.5 加排序


7.3.6 三表连接


7.3.7 总结 


 7.4 非等值连接(sql92标准)


 7.5 自连接(sql92标准)

查询的那张表找了两遍及以上。

要点:

1、案例将别名的好处完全体现出来了。 


7.6 等值连接(sql99标准)

7.6.1 语法与分类


7.6.2 内连接

1)语法与分类:


 2)等值连接

要点:

 与sql92完全一样的结果。






总结:


 3)非等值连接



5)自连接 


7.6.3 外连接 

1)应用场景:用于查询一个表中有,另一个表中没有的记录

2)特点:

1.外连接的查询结果为主表中的所有记录,如果从表中有和它匹配的,则显示匹配的值;如果没有和它匹配的,则显示null;外连接查询结果=内连接结果+主表中有而从表中没有的。

2.左外连接,left join左边的是主表;右外连接,right join右边的是主表。

3.左外和右外交换两个表的顺序,可以实现同样的效果。

要点:

通常使用id作为连接条件(在id前面的图表是个小钥匙)。


3)左外连接


 4)右外连接

 


5)案例:查询哪个部门没有员工

7.6.4 全外连接

MySQL不支持

 

猜你喜欢

转载自blog.csdn.net/m0_64432537/article/details/124253309