ORACLE 数据库 表连接 使用加号(+)

来源:互联网 发布:瓦房店天和网络 编辑:程序博客网 时间:2024/04/28 01:19
数据库中多表连接是经常用到的,主要有内连接和外连接。

  1. 内连接
    inner join
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

上面的等同于:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM Persons, OrdersWHERE Persons.Id_P = Orders.Id_P 

  1. 外连接

    1. 左外关联(LEFT JOIN ON)
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsLEFT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName
上面的等同于:
SELECT Persons.LastName, Persons.FirstName,Orders.OrderNoFROM Persons,Orders WHERE Persons.Id_P=Orders.Id_P(+) ORDER BY Persons.LastName
 2. 右外关联(RIGHT JOIN ON)
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsRIGHT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

上面的代码等同于:

SELECT Persons.LastName, Persons.FirstName,Orders.OrderNoFROM Persons,Orders WHERE Persons.Id_P(+) =Orders.Id_P ORDER BY Persons.LastName
 3. 全外关联(FULL JOIN ON)
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsFULL JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

说简单点就是那个表的数据要全部显示出来,那么加号放另一边

注意:这个加号的语法只适合用在oracle数据库中

0 0