初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]前面写了几篇前序学习,可以去先了解看看噢!! 此篇为续篇之终极篇,话不多说,上货!! MySQL: 一. 多表查询 1. 连接查询 (1)笛卡尔积 消除笛卡尔积。 (2)内连接查询 以下两种格式,都…

初学者看完都能秒懂的_Mysql (终结篇)

前面写了几篇前序学习,可以去先了解看看噢!! 此篇为续篇之终极篇,话不多说,上货!!

 

MySQL:

一. 多表查询

1. 连接查询

(1)笛卡尔积

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

消除笛卡尔积。

 

(2)内连接查询

以下两种格式,都可以消除笛卡尔积

  • 隐式内连接:select 字段 from A,B where 条件

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

  • 显示内连接:select * from A inner join B on 条件;

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

 

(3)外连接查询

当数据量较大时,内连接查询会占用大量的内存空间,可以使用外链接查询。

 

内连接:先进行交叉相乘,where晒减

外连接:以某张表为基准表,进行扫描拼接

左外连接:select * from A表 left outer join B表 on 连接条件;

右外连接:select * from A表 right outer join B表 on 连接条件;

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

 

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

 

 

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

 

 

小结:

 

  • 内连接:

查询效率:速度较快

内存占用:先笛卡尔积,再进行where晒减,内存占用在初期笛卡尔积的时候会很大。

内连接占用内存空间大

  • 外连接:

查询效率:一般

内存占用:以基准表进行扫描拼接,内存占用在后期才会增大。

外连接占用内存空间小

 

外连接存在的问题:连接中会出现null值。

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

解决null值:

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

画图总结:

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

 

书写顺序:

select 字段 from 表名 on 条件 where 条件 group by 字段 having 条件 order by 字段

 

 

 

2.子查询

子查询:查询中嵌套查询

格式进行select嵌套

               例如select 字段 from 表名 where (select 字段 from 表名…..)…..

              例如:select 字段 from (select 字段 from 表);

初学者看完都能秒懂的_Mysql (终结篇)[通俗易懂]

 

子查询效率一般,查询越多,效率越低。

子查询执行顺序:先执行最里层查询。

 

 

3.​​​​​​​ 多表查询总结

何时用连接查询,何时用子查询?

子查询:A查询 用到了B查询的查询结果

连接查询:A查询的结果 + B查询的结果

 

 

请给努力中的自己点个赞哦!

每天进步一点点`~~~~~

​​​​​​​

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

(0)
上一篇 2023-02-18
下一篇 2023-02-18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注