一、原理:
- 先确定数据要用到哪些表。
- 将多个表先通过笛卡尔积变成一个表。
- 然后去除不符合逻辑的数据(根据两个表的关系去掉)。
- 最后当做是一个虚拟表一样来加上条件即可。
- 列名最好使用表别名来区别
二、笛卡尔积图示
三、实例
(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子句顺序