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

一、原理:

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

二、笛卡尔积图示
在这里插入图片描述

三、实例
在这里插入图片描述

(1)内连接

返回的是所有匹配的记录。

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

(2)外连接:包括左连接和右连接

返回的是所有匹配的记录 外加 每行主表外键值为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子句顺序

发布了222 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42976139/article/details/103274678
今日推荐