SQL EXISTS

?
?

SQL > Linguagem SQL avan?ada > Exists

Na sec??o anterior, utilizamos IN para ligar a consulta interna e a consulta externa numa instru??o subsequente. IN n?o é a única forma de fazê-lo -- é possível utilizar muitos operadores como >, <, ou =. EXISTS é um operador especial que será abordado nesta sec??o.

EXISTS simplesmente testa se a consulta interna apresenta qualquer linha. Se apresentar, a consulta externa prossegue. Se n?o apresentar, a consulta externa n?o é executada e toda a instru??o SQL n?o apresenta qualquer resultado.

A sintaxe de EXISTS é:

SELECT "nome_coluna1"
FROM "nome_tabela1"
WHERE EXISTS
(SELECT *
FROM "nome_tabela2"
WHERE "condi??o");

Note que em vez de *, pode selecionar uma ou mais colunas na consulta interna. O efeito será idêntico.

Vamos utilizar as mesmas tabelas como exemplo:

Tabela Store_Information
Store_NameSalesTxn_Date
Los Angeles150005-Jan-1999
San Diego25007-Jan-1999
Los Angeles30008-Jan-1999
Boston70008-Jan-1999

Tabela Geography
Region_NameStore_Name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

e emitimos a seguinte consulta SQL:

SELECT SUM(Sales) FROM Store_Information
WHERE EXISTS
(SELECT * FROM Geography
WHERE Region_Name = 'West');

Iremos obter o seguinte resultado:

SUM(Sales)
2750

No início, isto pode parecer confuso porque a consulta secundária inclui a condi??o [region_name = 'West'], embora a consulta tenha somado as lojas de todas as regi?es. Após uma inspec??o mais atenta, descobrimos que como a consulta secundária apresenta mais de 0 linhas, a condi??o EXISTS é verdadeira e a condi??o existente na consulta interna n?o influencia a forma como a consulta externa é executada.

SQL CASE >>
?


Copyright © 2021   1keydata.com   Todos os direitos reservados.

? 老湿机69福利区无码_老子影院午夜伦无码_开心亚洲五月丁香五月