为什么以下不起作用?
SELECT name FROM (SELECT name FROM agentinformation)
我想我对 SQL 的理解是错误的,因为我原以为这会返回与
SELECT name FROM agentinformation
内部 select 语句不会创建外部 SELECT 语句然后查询的结果集吗?
为什么以下不起作用?
SELECT name FROM (SELECT name FROM agentinformation)
我想我对 SQL 的理解是错误的,因为我原以为这会返回与
SELECT name FROM agentinformation
内部 select 语句不会创建外部 SELECT 语句然后查询的结果集吗?
您需要为子查询设置别名。
SELECT name FROM (SELECT name FROM agentinformation) a
或更明确地说
SELECT a.name FROM (SELECT name FROM agentinformation) a
Joe Stefanelli 提供的答案已经是正确的。
SELECT name FROM (SELECT name FROM agentinformation) as a
我们需要为子查询创建别名,因为查询需要一个表对象,我们将从为子查询创建别名中获得该对象。从概念上讲,子查询结果被替换到外部查询中。由于我们在外部查询中需要一个表对象,我们需要为内部查询创建一个别名。
包含子查询的语句通常采用以下形式之一:
IN / NOT IN – 此运算符在执行内部查询后获取内部查询的输出,该输出可以是零个或多个值,并将其发送到外部查询。然后,外部查询获取所有匹配的 [IN 运算符] 或不匹配的 [NOT IN 运算符] 行。
ANY - [>ANY 或 ANY 运算符获取内部查询产生的值列表,并获取所有大于列表最小值的值。这
例如 >ANY(100,200,300),ANY 运算符将获取所有大于 100 的值。
例如 >ALL(100,200,300),ALL 运算符将获取所有大于 300 的值。