SQL 外链接多表查询

来源:互联网 发布:美食的俘虏 知乎 编辑:程序博客网 时间:2024/06/08 09:59

通过 LEFT JOIN 操作可以创建一个左外部联接。左外部联接包含两个表中第一个(左)表中的所有记录,即使在第二个(右)表中没有匹配的记录值。

通过 RIGHT JOIN 操作可以创建一个右外部联接。右外部联接包含两个表中第二个(右)表中的所有记录,即使在第一个(左)表中没有匹配的记录值。

通过 INNER JOIN 操作可以创建一个内联接。内联接返回两个表中联结字段相等的记录值。

注:LEFT JOIN 或 RIGHT JOIN 可以嵌套到 INNER JOIN 语句中,但是 INNER JOIN 语句不能嵌套到 LEFT JOIN 或 RIGHT JOIN 语句中。


在oracle中各种联结的等价替换

1. 内连接
select A.*, B.* from A,B where A.id = B.id
select A.*, B.* from A inner join B on A.id = B.id

2. 左外连接
select * from A, B where A.id = B.id(+)
select * from A left join B on A.id = B.id

3. 右外连接
select * from A, B where A.id = B.id(+)
select * from A right join B on A.id(+) = B.id

也就是说在oracle中+号放在=右边相当于左连接,而+号放在=左边相当于右连接

原创粉丝点击