PostgreSQL onde existe consulta

PostgreSQL onde existe consulta

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…
De table_name1
Onde existe (selecione 1
DE
tabela_name2
Onde col1 = tabela_name1.col1);

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;
Selecione * de itens;
Selecione * dos clientes;

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, Quantidade
De itens
Onde existe (selecione 1
Da empresa
Onde itens.empresa_id = empresa.Company_id e Companhia.telefone");

Saí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, Quantidade
De itens
Onde não existe (selecione 1
Da empresa
Onde itens.empresa_id = empresa.Company_id e Companhia.site_url é nulo);

Saí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 itens
(ID da empresa)
Selecione Company_id
De clientes
Onde existe (selecione 1
Da empresa, clientes
Onde clientes.empresa_id = empresa.ID da empresa);

Saí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 itens
Set Name = "Nokia"
Onde empresa_id = 1 e existe (selecione 1
De itens
Onde name = "não atribuir");

Saí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 itens
Onde empresa_id = 1 e existe (selecione 1
De itens
Onde name = "não atribuir");

Saí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.