所有顾客的电子邮件(二)
方法一:
每个表和Orders都有一列相同,可以用自然连接,将三个表连为一个表然后直接查就好了。
SELECT cust_email FROM Customers NATURAL JOIN Orders NATURAL JOIN OrderItems WHERE prod_id = "BR01";
方法二:
直接翻译题目,为三次查询。
SELECT cust_email FROM Customers WHERE cust_id IN ( SELECT cust_id FROM Orders WHERE order_num IN ( SELECT order_num FROM OrderItems WHERE prod_id = 'BR01' ) );
方法三:
使用内连接(写条件,且不删除列的自然连接)
SELECT cust_email FROM Customers c INNER JOIN Orders o ON c.cust_id = o.cust_id INNER JOIN OrderItems oi ON o.order_num = oi.order_num WHERE prod_id = 'BR01';