O que é PostgreSQL In?
O operador IN é usado em uma cláusula WHERE que permite verificar se um valor está presente em uma lista de outros valores. In Operation ajuda a reduzir a necessidade de várias condições OR nas instruções SELECT, UPDATE, INSERT ou DELETE.
Neste Tutorial do PostgreSQL, você aprenderá o seguinte:
- O que é PostgreSQL In?
- Sintaxe
- Com personagem
- Com Numérico
- Usando o operador NOT
- Usando o pgAdmin
Sintaxe
O operador IN assume a seguinte sintaxe:
value IN (value_1, value_2,… )
O valor é o valor que você está verificando na lista.
O valor_1, valor_2
… São os valores da lista.Se o valor for encontrado na lista, o operador retornará um verdadeiro.
A lista pode ser um conjunto de números de strings ou até mesmo o resultado de saída de uma instrução SELECT, conforme mostrado abaixo:
value IN (SELECT value FROM table-name);
A instrução colocada entre parênteses é conhecida como subconsulta.
Com personagem
Vamos demonstrar como você pode usar o operador IN com valores de caracteres.
Considere a seguinte tabela:
Funcionários:
Vamos executar a seguinte consulta na tabela acima:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Ele retorna o seguinte:
Temos uma lista de três nomes. Estamos pesquisando se podemos encontrar algum desses nomes na coluna de nomes da tabela Funcionários. O Kate Joel foi comparado a um dos registros da tabela, e seus detalhes foram retornados.
Com Numérico
Agora, vamos ver como podemos usar o operador IN com valores numéricos.
Considere a tabela de preços fornecida abaixo:
Preço:
Podemos executar a seguinte consulta na tabela:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Isso retorna o seguinte:
Criamos uma lista com 4 valores numéricos. Estamos verificando se podemos combinar algum desses valores com os valores contidos na coluna de preços da tabela de preços. Dois valores foram combinados e seus detalhes foram retornados.
Usando o operador NOT
O operador IN pode ser usado junto com o operador NOT. Ele retorna os valores que não são encontrados na coluna especificada. Usaremos a tabela de preços para demonstrar isso.
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Isso retornará o seguinte:
Criamos uma lista com 4 valores numéricos. Estamos verificando a coluna de preços da tabela de preços para valores que não fazem parte da lista. Dois valores, 250 e 300, não foram encontrados. Portanto, seus detalhes foram devolvidos.
Usando o pgAdmin
Agora vamos ver como as ações podem ser realizadas usando o pgAdmin.
Com personagem
Para fazer o mesmo por meio do pgAdmin, faça o seguinte:
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Com Numérico
Para fazer o mesmo por meio do pgAdmin, faça o seguinte:
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Usando o operador NOT
Para fazer o mesmo por meio do pgAdmin, faça o seguinte:
Etapa 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demo.
Etapa 3) Digite a consulta no editor de consultas:
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Etapa 4) Clique no botão Executar.
Ele deve retornar o seguinte:
Resumo:
- O operador IN é usado com o operador WHERE. Permite verificar se um determinado valor está presente em uma determinada tabela.
- O operador IN ajuda a reduzir a necessidade de vários operadores OR nas instruções SELECT, UPDATE, INSERT ou DELETE.
- Ao criar uma lista de caracteres para verificar a presença de um valor, cada valor na lista deve ser colocado entre aspas simples.
- O operador IN também pode ser usado com valores numéricos.
- Quando o operador IN é usado junto com o operador NOT, ele retorna todos os valores que não são encontrados na coluna especificada.
Baixe o banco de dados usado neste tutorial