浅谈MySQL使用笛卡尔积原理进行多表查询

2023年 4月 30日 44.6k 0

MySQL的多表查询(笛卡尔积原理) 先确定数据要用到哪些表。 将多个表先通过笛卡尔积变成一个表。 然后去除不符合逻辑的数据(根据两个表的关系去掉)。 最后当做是一个虚拟表一样

MySQL的多表查询(笛卡尔积原理)

先确定数据要用到哪些表。
将多个表先通过笛卡尔积变成一个表。
然后去除不符合逻辑的数据(根据两个表的关系去掉)。
最后当做是一个虚拟表一样来加上条件即可。

注意:列名最好使用表别名来区别。

笛卡尔积

Demo:

左,右连接,内,外连接

l 内连接:

要点:返回的是所有匹配的记录。

select * from a,b where a.x = b.x ////内连接

l 外连接有左连接和右连接两种。

要点:返回的是所有匹配的记录 外加 每行主表外键值为null的一条记录。辅表所有列为null值。

select * from a left join b on a.x=b.x order by a.x //左外连接或称左连接

select * from a right join b on a.x=b.x order by a.x //右外连接或称右连接

select子句顺序

子句 说明 是否必须使用 select 要返回的列或表示式 是 form 从中检索数据的表 仅在从表选择数据时使用 where 行级过滤 否 group by 分组说明 仅在按组计算聚集时使用 having 组级过滤 否 order by 输出排序顺序 否 limit 要检索的行数 否

到此这篇关于浅谈MySQL使用笛卡尔积原理进行多表查询的文章就介绍到这了,更多相关MySQL的多表查询内容请搜索每日运维以前的文章或继续浏览下面的相关文章希望大家以后多多支持每日运维!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论