SQL 外链接多表查询

    技术2022-05-11  102

    通过 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.idselect 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中+号放在=右边相当于左连接,而+号放在=左边相当于右连接


    最新回复(0)