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