Usuário com melhor resposta
dúvida operadores em SQL (SUB consultas ) ?

Pergunta
-
Respostas
-
Matheus,
Apenas complementando o exemplo com "ALL", onde ele vai verificar se o valor está entre um dos registros armazenados na coluna indicada. Também possui um retorno booleano.
Segue a comparação com o "valor = 1"
Segue a comparação com o "valor = 0"
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Matheus MSDN sexta-feira, 5 de junho de 2015 18:49
Todas as Respostas
-
Matheus,
Este é uma instrução de SQL "ISO" (padrão) e pode ser utilizado no SQL Server. Eles não são muito utilizados, mas fazem parte do conteúdo para certificação como MTA "Database Fundamentals".
SOME e ANY são semelhantes e lembram "um pouco" a instrução "IN", mas retornam um valor booleano "True" ou "False". Os valores para comparação sempre devem ser baseados em uma única coluna.
Ao menos um dos valores deve atender a condição indicada.
Segue abaixo um script "SQL" de exemplo:
SELECT * FROM TB_TEST; DECLARE @VALOR int = 3 --É "Menor" que "Algum" dos números desta coluna SELECT IIF((@VALOR < SOME (SELECT ID_CLIENT FROM TB_TEST)), 'É', 'NÃO É') --É "Diferente" que "Algum" dos números desta coluna SELECT IIF((@VALOR <> SOME (SELECT ID_CLIENT FROM TB_TEST)), 'É diferente', 'É igual') --É "Menor" que "Qualquer" dos números desta coluna SELECT IIF((@VALOR < ANY (SELECT ID_CLIENT FROM TB_TEST)), 'É', 'NÃO É') --É "Diferente" que "Qualquer" dos números desta coluna SELECT IIF((@VALOR <> ANY (SELECT ID_CLIENT FROM TB_TEST)), 'É diferente', 'É igual') GO
Segue a Evidência de teste de como funciona este script:
Com "valor = 3"
Com "valor = 2"
Para maiores informações veja:
https://technet.microsoft.com/pt-br/library/ms187074%28v=sql.105%29.aspx
https://msdn.microsoft.com/pt-br/library/ms175064.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil" -
Matheus,
Apenas complementando o exemplo com "ALL", onde ele vai verificar se o valor está entre um dos registros armazenados na coluna indicada. Também possui um retorno booleano.
Segue a comparação com o "valor = 1"
Segue a comparação com o "valor = 0"
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Matheus MSDN sexta-feira, 5 de junho de 2015 18:49