现在有表a,b:
表a中的数据:
表b中的数据:
内连接:
两个表中匹配的所有行记录
SELECT *FROM a join b where a.aid=b.bid;
SELECT *FROM a,b where a.aid=b.bid;
外连接:
左连接:
左连接的结果中包含三部分内容
1.两个表中匹配的所有行记录
2.左表中那些在右表中找不到匹配的行的记录,这些记录的右边全为null;
SELECT *FROM a left join b on a.aid=b.bid;
右连接:
右连接的结果中包含三部分内容
1.两个表中匹配的所有行记录
2. 右表中那些在左表中找不到匹配的行的记录,这些记录的左边全为null
SELECT *FROM a right join b on a.aid=b.bid;
全连接:SELECT *FROM a full join b on aid=bid
Mysql不支持
全连接的结果中包含三部分内容
1.两个表中匹配的所有行记录
2.左表中那些在右表中找不到匹配的行的记录,这些记录的右边全为null
3.右表中那些在左表中找不到匹配的行的记录,这些记录的左边全为null
交叉连接:
SELECT *FROM a cross join b
SELECT * FROM a,b