关系代数运算中,有连接运算,又分为θ连接和外连接
标准SQL语言中连接运算通常是采用
SELECT 列名[[,列名]...]
FROM 表名1,表名2,...
WHERE 检索条件;
SQL的高级语法中引入了内连接与外连接运算,具体形式:
SELECT 列名[[,列名]...]
FROM 表名1[NATURAL][INNER|{LEFT|RIGHT|FULL}[OUTER]]JOIN 表名2
{ON 连接条件 | USING (Colname{,Colname...})}
[WHERE 检索条件;]
上例的连接运算由两部分构成:连接类型
和连接条件
连接类型(四选一):inner join
、left outer join
、right outer join
、full outer join
连接条件(三选一):natural
、on <连接条件>
、using(Col1,Col2,...,Coln)
连接中使用
natural
:出现在结果关系中的两个连接关系的元组在公共属性上取值相等,且公共属性只出现一次。连接中使用
on<连接条件>
:(θ连接)出现在结果关系的两个连接关系的元组取值满足连接条件,且公共属性出现两次连接中使用
using(Col1,Col2,...,Coln)
:(Col1,Col2,...,Coln)是两个连接关系的公共属性子集,元组在(Col1,Col2,...,Coln)上取值相等,且(Col1,Col2,...,Coln)只出现一次