以下哪个例子是内部联接的最佳实践?以下示例是 很简单但是,如果涉及多个表怎么办? 你会选择哪种方法?
示例查询:
简单
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;
答案 0 :(得分:6)
自1992年以来ANSI推荐JOIN
符号,关于可读性,这是我建议使用的。
关于这一主题已经说了一切,但我只想提醒一下,从逻辑的角度来看,将连接条件与值过滤器分开更有意义,原因有两个:
WHERE
过滤器。答案 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都相同..