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。