服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 浅谈MySQL使用笛卡尔积原理进行多表查询

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

2020-07-22 16:53newname Mysql

这篇文章主要介绍了浅谈MySQL使用笛卡尔积原理进行多表查询, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

笛卡尔积

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

Demo:

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

左,右连接,内,外连接

l 内连接:

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

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

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

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

?
1
2
3
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的多表查询内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/Toolo/p/3634563.html

延伸 · 阅读

精彩推荐