以下给出一个例子
表a
表b
SELECT * FROM a LEFT JOIN b ON aid=bid
首先取出a表中所有数据,然后再加上与aid,bid相同匹配的数据,包含a表不符合的条件
同样的right join 包含b表不符合的条件
那么,内连接呢?
SELECT * FROM a INNER JOIN b ON aid=bid
不满足条件的,不管a,b表都不会显示啦
和内连接很像的,等值连接,得出的答案和相似,就是等值连接的原理是笛卡尔及,在表比较庞大的时候,效率不如内连接,这里就不做详细讨论。
题外话,试试or(将上面的bd=4改为了bd=3)
SELECT * FROM a LEFT JOIN b ON aid=bid OR aid=bd
SELECT * FROM a LEFT JOIN b ON aid=bid AND aid=bd