Vamos explorar como essa função funciona e como podemos usá-la.
Operador SQL IN
O trecho a seguir mostra a sintaxe do operador IN.
valor_pesquisa [ NÃO ] DENTRO conjunto_valor
conjunto_valor:
{
( expressão [ , ... ] )
| ( subconsulta )
| A NÃO SER QUE ( expressão_array )
}
A função aceita os seguintes parâmetros:
- search_value – define uma expressão que é comparada ao conjunto de valores fornecido.
- value_set – o conjunto de valores a partir do qual o search_value é comparado.
- subconsulta – descreve uma subconsulta que retorna uma única coluna. Se nenhum valor for retornado, o conjunto de valores estará vazio.
- UNNEST(array) – retorna uma coluna de valores de um determinado valor de array.
A função então retorna um valor booleano. Ele retorna TRUE se existir um valor igual no conjunto fornecido e FALSE caso contrário.
Exemplos
O exemplo a seguir mostra como usar o operador IN com dados de coluna. Suponha que temos uma tabela com dados de exemplo como mostrado:
Podemos usar o operador IN para selecionar os registros se o país for MySQL ou PostgreSQL.
SELECIONE
*
A PARTIR DE
BANCOS DE DADOS
ONDE
NOME DO SERVIDOR DENTRO ( 'MySQL' , 'PostgreSQL' ) ;
A consulta acima deve exibir as linhas correspondentes conforme mostrado:
Usando o operador IN, também podemos verificar se existe um valor em uma determinada coluna. Um exemplo é mostrado abaixo:
SELECIONE*
A PARTIR DE
BANCOS DE DADOS D
ONDE
'MySQL' DENTRO ( NOME DO SERVIDOR ) ;
Neste caso, verificamos se o valor “MySQL” existe na coluna server_name. O resultado é o mostrado:
É bom ter em mente que se você forneceu valores duplicados com o operador IN. O SQL descartará os valores idênticos e usará um deles.
Conclusão
Neste breve post, exploramos o uso do operador IN em Standard/ANSI SQL. O operador IN permite verificar se existe um valor dentro de um conjunto de valores.
Obrigado por ler!!