连接是指将关系数据库中的两个表根据内容一定的条件连接成一个表.
内连接是最常用的链接,也叫等值链接,最常见的格式是:
SELECT a.*,b.* FROM TA as a ,TB as b
WHERE a.id=b.id
或者
SELECT a.*,b.* FROM TA as a inner join TB as b
ON a.id = b.id
外连接则分为"左外连接(左连接)","右外连接(右连接)"两种情况:
left join / right join
常见格式是:
SELECT A.IDA,A.VA,B.IDB,B.VB FROM TA A LEFT JOIN TB B
ON B.IDB=A.IDA
SELECT A.IDA,A.VA,B.IDB,B.VB FROM TA A RIGHT JOIN TB B
ON B.IDB=A.IDA
左连接:以左表为基础来连接,如果左表的某行内容无法在右表中找到相对的row,则将右表统统用null来表示.
右连接:与左连接相反.
全连接(或者称作全外连接):
full outer join 或者 full join
常见格式:
SELECT a.* ,b.*
FROM TA as a
full outer join TB as b
ON a.id=b.id
在oracle中也可以使用where子句中的(+)来表示左右连接和全连接,注意,这种写法和left(right,full)连接的区别
--- = ---(+):左连接
---(+) = ---:右连接
---(+) = ---(+):全连接
需要注意的是:有的数据库不支持全连接的写法(full out join/full join),如mysql,和access等。