关于SQL子查询的一个问题

Posted Jockey浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于SQL子查询的一个问题相关的知识,希望对你有一定的参考价值。

今天在翻看工具书的时候,发现了一个sql语句:

select 
    cust_name, 
    cust_state, 
    (select count(*)
     from  orders
     where orders.cust_id = customers.cust_id) as orders
from customers
order by cust_name;

 

在子查询中居然可以直接使用外部的customers表中的cust_id字段进行where条件限制,瞬间就感觉到好像哪里不对劲。

真的可以这样写吗?明天到环境上执行一下看看就知道了。

以上是关于关于SQL子查询的一个问题的主要内容,如果未能解决你的问题,请参考以下文章

关于子查询

Oracle SQL - 多级相关子查询不起作用

SQL问题,子查询返回的值不止一个!

关于T-SQL中exists或者not exists子查询的“伪优化”的做法

Microsoft SQL Server 代码片段收集

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段