最佳实践:Oracle SQL连接

时间:2013-04-10 13:41:58

标签: sql oracle

以下哪个例子是内部联接的最佳实践?以下示例是 很简单但是,如果涉及多个表怎么办? 你会选择哪种方法?

示例查询:

简单

SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_date
FROM suppliers, orders
WHERE suppliers.supplier_id = orders.supplier_id;

使用关键字INNER JOIN

SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_date
FROM suppliers
INNER JOIN orders
ON suppliers.supplier_id = orders.supplier_id;

3 个答案:

答案 0 :(得分:6)

自1992年以来ANSI推荐JOIN符号,关于可读性,这是我建议使用的。

关于这一主题已经说了一切,但我只想提醒一下,从逻辑的角度来看,将连接条件与值过滤器分开更有意义,原因有两个:

答案 1 :(得分:0)

我建议明确说明JOIN类型并使用ON子句。 但你需要正确使用它。在您的示例中,您忘记包含FROM子句和供应商表。

SELECT suppliers.supplier_id, 
       suppliers.supplier_name, 
       orders.order_date
  FROM suppliers s INNER JOIN 
       orders o ON s.supplier_id = o.supplier_id;

答案 2 :(得分:0)

在功能方面,WHERE和JOINS都相同..