多表联结查询
内连接

改别名

将每一个字段前面都加上归属,有助于后面做多表联结,养成好习惯

作者偏爱的格式,可借鉴

inner join 无空值
left outer join (left join)左外连接:左边表全部保留下来,左表为主表
right join:右表为主表


cross join 笛卡尔积


1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
另外连接方式(过时连接方式,不推荐用)

组合查询目的(纵向拼接,类似于并集):
1.从不同的表select的内容拼到了一起
2.对一张表进行多个查询,但只按一个结果返回

要点一:使用union,select列数相等

错误1:


错误2:id,name顺序不同


使用orderby:对所有查出来的内容再进行排序
正确:

错误:

在同一张表使用union和union all
union:

等价于:

union all:把两个东西拼在一起,不去重


多个表使用union和union all


只查询product_type
union过滤去重


一个union,一个union all?

本文详细介绍了MySQL中的多表联结查询,包括内连接、左外连接、右连接和笛卡尔积,强调了养成在字段前加归属的习惯。同时,探讨了组合查询的目的和使用union进行纵向拼接的注意事项,如select列数需相等,并举例说明了union与union all的区别,指出union会去除重复项而union all不会。
4018

被折叠的 条评论
为什么被折叠?



