子查询 subquery 即嵌套在其他查询中的查询,总是从内向外处理
用子查询进行过滤
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 = 'RGAN01'));
注意:子查询的 SELECT 语句只能查询单个列
子查询作为计算字段
SELECT cust_name,
cust_state,
(SELECT COUNT(*)
FROM Orders
WHERE Orders.cust_id = Customers.cust_id) AS orders
FROM Customers
ORDER BY cust_name;
用句点分隔的表名和列名是完全限定列名,可以防止混淆列名