子查询 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;

用句点分隔的表名和列名是完全限定列名,可以防止混淆列名