【MySQL数据库】SQL 查询封神之路:步步拆解核心操作,手把手帮你解锁高阶6

六. 其他查询方法

6.1 合并查询

就是单纯的将两个表进行合并,单纯的叠加,与笛卡尔积完全不一样。

使用union表示将表进行合并,会自动去重;而union all表示将表进行合并,不会去重。

【MySQL数据库】SQL 查询封神之路:步步拆解核心操作,手把手帮你解锁高阶6

6.2 表的内连和外连

6.2.1 内连接

就是上面我们利用where子句两个表进行笛卡尔积的方式进行标准化,增加可读性了。

语法:select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件:

【MySQL数据库】SQL 查询封神之路:步步拆解核心操作,手把手帮你解锁高阶6

6.2.2 左外连接

在进行连接查找的是否,如果左侧的表我们先进行完全保留,此时就可以使用左外连接:语法就是将上面的inner换成leftselect 字段 from 表1 left join 表2 on 连接条件 and 其他条件:

【MySQL数据库】SQL 查询封神之路:步步拆解核心操作,手把手帮你解锁高阶6

6.2.3 右外连接

与左外连接相反,保留右图中的所有部分,语法:select 字段 from 表1 right join 表2 on 连接条件 and 其他条件,使用结果与上面类似,此处就不再赘述了。

总结:

内连接仅保留两表中匹配的数据行;
外连接则会保留某一张表的所有数据行,另一张匹配不到的位置用NULL填充。

阅读剩余
THE END