Oracle PL/SQL FROM
子句用于列出Oracle查询所需的表和所有连接信息。
语法
Oracle PL/SQL中的FROM
子句的语法是:
FROM table1
[ { INNER JOIN
| LEFT [OUTER] JOIN
| RIGHT [OUTER] JOIN
| FULL [OUTER] JOIN } table2
ON table1.column1 = table2.column1 ]
参数
-
table1 和 table2
这是SQL语句中使用的表。 这两个表基于table1.column1 = table2.column1
连接。
** 注意: **
- 在Oracle / PLSQL的FROM子句中必须至少有一个表。
- 如果
FROM子
句中列出了两个或多个表,则这些表通常使用INNER
或OUTER
连接在FROM
子句中连接。虽然表也可以使用WHERE
子句中的旧语法连接,但建议使用新标准,并在FROM
子句中包括您的连接信息。 有关更多信息,请参阅Oracle连接。
示例1 - 在一个表上使用
因为解释Oracle FROM
子句的语法比较难,所以让我们先看看一些例子。
它我们将首先看看如何使用FROM
子句在一个表上。
例如:
SELECT *
FROM homes
WHERE bathrooms >= 2
ORDER BY home_type ASC;
在这个Oracle FROM
子句示例中,我们使用FROM
子句列出了名为homes
的表。没有执行连接,所以只使用一个表。
示例2 - 具有INNER JOIN的两个表
让我们看看如何使用带有两个表和一个INNER JOIN的FROM
子句。
SELECT homes.home_id, customers.last_name, customers.first_name
FROM customers
INNER JOIN homes
ON customers.customer_id = homes.customer_id
ORDER BY home_id;
此Oracle FROM子句示例使用FROM
子句列出两个表 - customers
和homes
。 并且使用FROM
子句根据在customers
和homes
表的两个表中的customer_id
列之间指定使用INNER JOIN
作连接。
示例3 - 使用OUTER JOIN的两个表
让我们看看当使用OUTER JOIN将两个表连接在一起时如何使用FROM
子句。 在这示例中演示的是 LEFT OUTER JOIN
的用法。
SELECT customers.customer_id, contacts.last_name, contacts.first_name
FROM customers
LEFT OUTER JOIN contacts
ON customers.customer_id = contacts.contact_id
WHERE customers.last_name = 'Smith';
上面的Oracle FROM子句示例中,使用FROM子句列出两个表 - customers
和 contacts
。 并且使用FROM
子句根据两个表中的customer_id
列在客户和联系人表之间指定LEFT OUTER JOIN
。