- inner join 内联接(左右不为Null)
select * from tableA a inner join tableB b on a.id=b.id
内联接——只产生所有表中存在匹配的记录,就是常见的where语句连接,两边的表返回的都是匹配的记录。
- left outer join 左外联接(左全右Null)
select * from tableA a left join tableB b on a.id=b.id
左外联接——左表的所有记录都出现在结果集中,而右表有匹配则显示记录,无匹配则显示NULL。
- rigth outer join 右外联接(左Null右全)
select * from tableA a right join tableB b on a.id=b.id
右外联接——右表的所有记录都出现在结果集中,而左表有匹配则显示记录,无匹配则显示NULL。
- full outer join 全外联接(左外联接 + 右外联接)
select * from tableA a full join tableB b on a.id=b.id
全外联接——返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
- cross join 交叉联接(返回笛卡尔乘积)
select * from tableA a cross join tableB
本文转自 Icansoft 51CTO博客,原文链接:
http://blog.51cto.com/android/50135