PostGresql: Usando onde existe cláusula
Quando qualquer consulta SQL é usada dentro de outra consulta SQL, ela é chamada de subconsulta. A consulta complicada pode ser escrita facilmente dividindo uma grande consulta em várias subconsações. A cláusula existe é usada com uma subconsulta em uma declaração SQL. A saída de existe depende do número de registros retornados pela subconsulta, mas não depende dos valores dos registros. O resultado de existir será verdadeiro se o subconstoria associado retornar pelo menos uma linha. Como você pode usar existe e não existe cláusula em declarações selecionadas, inseridas, atualizadas e excluídas são mostradas neste tutorial usando exemplos diferentes.
Existe Sintaxe da Cláusula:
Selecione Col1, Col2, Col3…Crie três tabelas nomeadas Empresa, itens e clientes e insira alguns dados. Execute a seguinte consulta selecionada para mostrar o conteúdo dessas tabelas.
Selecione * da empresa;Exemplo 1: Usando a Cláusula Existe em Selecionar Consulta
(a) Existe
A consulta a seguir recuperará registros de Unid tabela baseada em empresa mesa. A subconsraia pesquisa todos os registros de empresa Tabela onde ID da empresa de empresa A tabela é igual a ID da empresa de Unid Tabela e o valor de telefone Campo não está vazio. Há um registro em empresa Tabela que não possui número de telefone e esse registro será omitido da saída.
Selecione Item_id, Nome, QuantidadeSaída:
O registro da LG não tem entrada de telefone na tabela da empresa. Portanto, não aparece na saída.
(b) não existe
Não existe cláusula é oposta à cláusula existe. A consulta a seguir recuperará esses registros de Unid Tabela quando a subconsulta retorna falsa.
Selecione Item_id, Nome, QuantidadeSaída:
Não há registro em empresa Tabela onde site_url é nulo. Portanto, a saída da subconsulta é falsa para todos os registros e todos os registros da tabela de itens são recuperados.
Exemplo 2: Usando a cláusula existe na consulta Inserir
De acordo com a seguinte consulta de inserção, os dados serão inseridos em Unid Tabela quando ID da empresa de ambos empresa e clientes As tabelas são iguais.
Inserir em itensSaída:
Existem três entradas para ID da empresa na tabela de clientes com valores são 1 e 2. Portanto, a subconeração retornará true por três vezes e três registros serão inseridos.
Execute a consulta selecionada para verificar o conteúdo da tabela de itens.
Exemplo 3: Usando a cláusula existe na consulta de atualização
A consulta a seguir atualizará os registros de Unid Tabela onde ID da empresa é 1 e a subconsência retorna verdadeira.
Atualizar itensSaída:
Aqui, a subconeração retornará true por três vezes e ID da empresa é 1 para três registros. Três registros serão atualizados após a execução da consulta de atualização.
Execute a consulta selecionada para verificar o conteúdo da tabela de itens.
Exemplo-4: Usando a Cláusula Existe em Excluir consulta
A consulta a seguir excluirá esses registros de Unid Tabela onde ID da empresa é 1 e a subconsência retorna verdadeira.
Exclua dos itensSaída:
Existem três registros com o valor 1 de ID da empresa e um registro tem valor de nome 'Não atribua'. Portanto, a condição será verdadeira por três vezes e excluirá três registros de Unid mesa.
Execute a consulta selecionada para verificar o conteúdo da tabela de itens.
Espero que você tenha uma idéia clara de usar a cláusula existe na consulta SQL depois de ler este tutorial.