SubconsultaTabela

A SubconsultaTabela é uma subconsulta que retorna várias linhas.

Diferentemente da SubconsultaEscalar, a SubconsultaTabela é permitida apenas:

Quando utilizada como uma ExpressãoTabela em uma Cláusula FROM, pode retornar várias colunas. Quando utilizada com EXISTS, pode retornar várias colunas somente se for utilizado o * para retornar várias colunas.

Quando utilizada com IN ou comparações quantificadas, deve retornar uma única coluna.

Sintaxe

(Consulta)
-- subconsulta utilizada como ExpressãoTabela na cláusula FROM
SELECT TABELA_VÔOS_VIRTUAL.ID_VÔO
FROM
    (SELECT ID_VÔO, AEROPORTO_ORIGEM, AEROPORTO_DESTINO
    FROM VÔOS
    WHERE (AEROPORTO_ORIGEM = 'SFO' OR AEROPORTO_DESTINO = 'SCL') )
AS TABELA_VÔOS_VIRTUAL

-- subconsulta (VALUES expressão) utilizada como uma ExpressãoTabela
-- na cláusula FROM
SELECT MINHA_COLUNA1
FROM
    (VALUES (1, 2), (3, 4))
AS MINHA_TABELA (MINHA_COLUNA1, MINHA_COLUNA2)

-- subconsulta com EXISTS
SELECT *
FROM VÔOS
WHERE EXISTS
    (SELECT * FROM VÔOS WHERE AEROPORTO_DESTINO = 'SFO'
    AND AEROPORTO_ORIGEM = 'GRU')

-- subconsulta usada com IN
SELECT ID_VÔO, NÚMERO_SEGMENTO
FROM VÔOS
WHERE ID_VÔO IN
    (SELECT ID_VÔO
    FROM VÔOS WHERE AEROPORTO_ORIGEM = 'SFO'
    OR AEROPORTO_DESTINO = 'SCL')

-- subconsulta utilizada com uma comparação quantificada
SELECT NOME, COMISS
FROM EQUIPES
WHERE COMISS >
(SELECT AVG(BÔNUS + 800)
     FROM EMPREGADOS
     WHERE COMISS < 5000);
Conceitos relacionados
Interação com o sistema de dependências
Instruções CREATE
Instruções DROP
Instruções RENAME
Instruções SET
Referências relacionadas
Instrução ALTER TABLE
CALL (PROCEDIMENTO)
Cláusula CONSTRAINT
Instrução DECLARE GLOBAL TEMPORARY TABLE
Instrução DELETE
Cláusula FOR UPDATE
Cláusula FROM
Cláusula GROUP BY
Cláusula HAVING
INNER JOIN
Instrução INSERT
Operação JOIN
LEFT OUTER JOIN
Instrução LOCK TABLE
Cláusula ORDER BY
Consulta
RIGHT OUTER JOIN
SubconsultaEscalar
ExpressãoSeleção
Instrução SELECT
ExpressãoTabela
Instrução UPDATE
VALUES Expressão
Cláusula WHERE
Cláusula WHERE CURRENT OF