Cursos / Informática para Internet / Banco de Dados / Aula

arrow_back Aula 13 - Linguagem SQL – Subconsultas

Subconsulta com EXIST e NOT EXIST

Uma das grandes aplicações da subconsulta correlacionada é a realização de testes de existência e inexistência, que são realizados com as cláusulas EXISTS e NOT EXISTS, respectivamente, juntamente com a subconsulta.

A realização de um teste de inexistência permite encontrar todas as linhas de uma tabela (referenciada na consulta externa), que não contém os dados fornecidos pela subconsulta.

Vamos supor que precisamos determinar quais foram os produtos que não foram vendidos no nosso banco de dados sistvendas. Uma forma de realizar essa pesquisa é utilizar um NOT EXISTS para encontrar os produtos.

Com a utilização da cláusula NOT EXISTS, a consulta externa encontra o nome dos produtos que ainda não estão listados na tabela compras. O resultado dessa pesquisa é ilustrado na Figura 9.

De maneira semelhante, podemos listar os nomes dos produtos que foram vendidos utilizando o termo EXISTS.

A consulta feita retorna os nomes dos produtos em que o atributo prod_codigo aparece pelo menos uma vez na tabela compras. O resultado dessa pesquisa encontra-se na Figura 9.

Tela do MySQL após os testes de inexistência e existência .

Versão 5.3 - Todos os Direitos reservados