SQL中的子查询疑问
需求:查询出订单总金额 > 200 的客户的姓名和他们的订单总金额
课程给出的SQL答案:
-- 主查询
SELECT name, total_amount
FROM customers
WHERE customer_id IN (
-- 子查询
SELECT DISTINCT customer_id
FROM orders
WHERE total_amount > 200
);
疑问:子查询的 SELECT 后并没有列出 total_amount 字段( total_amount 属于**orders** 表),为什么外层的主查询可以使用 total_amount 字段?主查询可以使用子查询表中的任何字段吗(即使子查询 SELECT 中并没有指定)?