背景:
orders订单表包含订单号、客户ID、订单日期
orderitems各订单的物品存储表
customers客户信息存储表
1. 利用子查询进行过滤,
在SELECT语句中,子查询总是从内向外处理
例1:列出订购物品TNT2的所有客户
SELECT cust_name, cust_contact
FROM customers
WHERE cust_id IN (SELECT cust_id
FROM orders
WHERE order_num IN (SELECT order_num
FROM orderitems
WHERE prod_id = 'TNT2'));
2. 作为计算字段使用子查询
例2:显示customers表中每个客户的订单总数
SELECT cust_name, cust_state,
(SELECT COUNT(*)
FROM orders
WHERE orders.cust_id = customers.cust_id) AS orders
FROM customers
ORDER BY cust_name;