数据库表的连接分为外连接、内连接和全连接。外连接又分为左外连接和右外连接。(横向拼接)
现有两张表:A表和B表。
内连接
内连接查询的是两张表的并集。
两张表都有id=1,2,3的记录,所以:
逗号连接表也属于内连接:
select * from a,b where a.id=b.id;
外连接
分为左外连接和右外连接。
左外连接是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。
右外连接
是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。
全连接
全连接显示两侧表中所有满足检索条件的行。
mysql中用union实现全连接:
oracle中用full join实现全连接:
select * from a full join b on a.id = b.id