¿Por qué no funciona lo siguiente?
SELECT name FROM (SELECT name FROM agentinformation)
Supongo que mi comprensión de SQL es incorrecta, porque habría pensado que esto devolvería lo mismo que
SELECT name FROM agentinformation
¿La declaración de selección interna no crea un conjunto de resultados que luego consulta la declaración de selección externa?
where
cláusula para la consulta externa?select
sin el alias.La respuesta proporcionada por Joe Stefanelli ya es correcta.
Necesitamos hacer un alias de la subconsulta porque una consulta necesita un objeto de tabla que obtendremos al hacer un alias para la subconsulta. Conceptualmente, los resultados de la subconsulta se sustituyen en la consulta externa. Como necesitamos un objeto de tabla en la consulta externa, necesitamos hacer un alias de la consulta interna.
Las declaraciones que incluyen una subconsulta generalmente toman una de estas formas:
Busque más reglas de subconsulta y tipos de subconsultas .
Más ejemplos de subconsultas anidadas.
IN / NOT IN: este operador toma el resultado de la consulta interna después de que se ejecuta la consulta interna, que puede tener cero o más valores y la envía a la consulta externa. La consulta externa luego recupera todas las filas coincidentes [operador IN] o no coincidentes [operador NO IN].
ANY - [> ANY o ANY operator toma la lista de valores producidos por la consulta interna y obtiene todos los valores que son mayores que el valor mínimo de la lista. los
ej.> CUALQUIERA (100,200,300), el operador CUALQUIER obtendrá todos los valores mayores que 100.
por ejemplo,> ALL (100,200,300), el operador ALL obtendrá todos los valores mayores que 300.
fuente