Como usar conectivos lógicos com sql

Muitas vezes, aplicando uma condição em uma consulta não é suficiente para retornar as linhas que você quer de uma tabela SQL. Em alguns casos, as linhas devem satisfazer duas ou mais condições. Em outros casos, se uma linha satisfaz qualquer uma das duas ou mais condições, ela se qualifica para recuperação.

Em ainda outras ocasiões, você deseja recuperar somente as linhas que não satisfazem uma condição especificada. Para atender a essas necessidades, SQL oferece os conectivos lógicos E, OU, e NÃO.

E

Se várias condições devem ser verdadeiras antes de poder recuperar uma linha, use o E conectivo lógico. Considere o seguinte exemplo:

InvoiceNo SELECT, SaleDate, Vendedor, TotalSaleFROM SALESWHERE SaleDategt; = `2012-12-14`AND SaleDatelt; = `2012/12/20` -

o ONDE cláusula deve atender às seguintes condições:

  • Data de venda deve ser maior que ou igual a 14 de Dezembro de 2012.

    Video: Conectores lógicos - Lengua - Educatina

  • Data de venda deve ser menor ou igual a 20 de Dezembro de 2012.

Somente as linhas que as vendas de discos que ocorrem durante a semana de 14 de Dezembro satisfazer ambas as condições. A consulta retorna apenas estas linhas.

Observe que o E conjuntivo é estritamente lógico. Esta restrição às vezes pode ser confuso porque as pessoas normalmente usam a palavra e com um significado mais solto. Suponha, por exemplo, que seu chefe lhe diz: “Eu gostaria de recuperar os dados de vendas para Ferguson e Ford.” Ele disse: “Ferguson e Ford,” de modo que você pode escrever a seguinte consulta SQL:

* SELECT FROM SALESWHERE vendedor = `Ferguson`AND vendedor =` Ford`-


Bem, não tome essa resposta de volta para o seu chefe. A consulta a seguir é mais parecido com o que o grande kahuna tinha em mente:

* SELECT FROM SALESWHERE vendedor IN ( `Ferguson`, `Ford`) -

A primeira consulta não retornará nada, porque nenhuma das vendas na tabela de vendas foram feitas por ambos Ferguson e Ford. A segunda consulta retornará as informações sobre todas as vendas feitas por ou Ferguson ou Ford, que é provavelmente o que o chefe queria.

Video: Conectivos Lógicos CONJUNCION

OU

Se qualquer um dos dois ou mais condições devem ser verdadeiras para qualificar uma linha para recuperação, use o OU conectivo lógico, como no exemplo a seguir:

SELECIONE InvoiceNo, SaleDate, Vendedor, TotalSaleFROM SALESWHERE vendedor = `Ford`OR TotalSale gt; 200 -

Esta consulta recupera todas as vendas da Ford, independentemente de quão grande, assim como todas as vendas de mais de US $ 200, independentemente de quem fez as vendas.

NÃO

o NÃO conjuntivo nega uma condição. Se a condição normalmente retorna um valor True, acrescentando NÃO faz com que a mesma condição para retornar um valor falso. Se uma condição normalmente devolve um valor falso, acrescentando NÃO faz com que a condição para retornar um valor True. Considere o seguinte exemplo:

SELECIONE InvoiceNo, SaleDate, Vendedor, TotalSaleFROM SALESWHERE NOT (vendedor = `Ford`) -

Esta consulta retorna linhas para todas as operações de venda concluídas por outros do que Ford vendedores.

Quando você usa E, OU, ou NÃO, às vezes o alcance do conjuntivo não é clara. Para ser seguro, use parênteses para se certificar de que o SQL aplica o conjuntivo ao predicado que deseja. No exemplo anterior, o NÃO conjuntivo se aplica a todo o predicado (Vendedor = ‘Ford’).


Publicações relacionadas