Bre*_*ent 363 sql sql-server nested querying subquery
有人可以帮助我理解为什么以下不起作用?
SELECT name FROM (SELECT name FROM agentinformation)
Run Code Online (Sandbox Code Playgroud)
我想我对SQL的理解是错误的,因为我会认为这会返回相同的东西
SELECT name FROM agentinformation
Run Code Online (Sandbox Code Playgroud)
内部select语句是否创建了外部SELECT语句然后查询的结果集?
Joe*_*lli 630
您需要为子查询添加别名.
SELECT name FROM (SELECT name FROM agentinformation) a
Run Code Online (Sandbox Code Playgroud)
或者更明确
SELECT a.name FROM (SELECT name FROM agentinformation) a
Run Code Online (Sandbox Code Playgroud)
Som*_*luk 43
Joe Stefanelli提供的答案已经是正确的.
SELECT name FROM (SELECT name FROM agentinformation) as a
Run Code Online (Sandbox Code Playgroud)
我们需要创建子查询的别名,因为查询需要表对象,我们将从别名到子查询获得.从概念上讲,子查询结果被替换为外部查询.由于我们需要外部查询中的表对象,我们需要创建内部查询的别名.
包含子查询的语句通常采用以下格式之一:
嵌套子查询的更多示例.
IN/NOT IN - 此运算符在内部查询执行后获取内部查询的输出,该查询可以是零个或多个值,并将其发送到外部查询.外部查询然后获取所有匹配的[IN运算符]或不匹配的[NOT IN运算符]行.
ANY - [> ANY或ANY运算符获取内部查询生成的值列表,并获取大于列表最小值的所有值.该
例如> ANY(100,200,300),ANY运算符将获取大于100的所有值.
例如> ALL(100,200,300),ALL运算符将获取大于300的所有值.
归档时间: |
|
查看次数: |
638849 次 |
最近记录: |