在MySQL子查询中访问外部列,您可以使用相关子查询(Related Subquery)
SELECT
a.ID,
a.Name,
a.Age,
(SELECT COUNT(*) FROM Orders o WHERE o.CustomerID = a.ID) as OrderCount
FROM
Customers a;
在这个查询中,子查询(SELECT COUNT(*) FROM Orders o WHERE o.CustomerID = a.ID)
是一个相关子查询。因为它引用了外部查询Customers
表中的列a.ID
。子查询会根据外部查询中每一行的CustomerID
值来计算订单数量。
在执行这个查询时,MySQL会为Customers
表的每一行执行一次子查询。子查询会计算与当前CustomerID
值匹配的订单数量,并将结果作为OrderCount
列的值。
领取专属 10元无门槛券
手把手带您无忧上云