Como usar predicados similares e nulos em instruções sql

Video: VIDEO AULA - Núcleo do predicado

SQL: 1999, acrescentou o SEMELHANTE predicado, que oferece uma forma mais poderosa de encontrar resultados parciais do que o GOSTAR predicado fornece. Com o SEMELHANTE predicado, você pode comparar uma cadeia de caracteres para uma expressão regular. Por exemplo, digamos que você está procurando o Sistema operacional coluna de uma tabela de compatibilidade de software a olhar para compatibilidade com Microsoft Windows. Você poderia construir um ONDE cláusula tal como o seguinte:

ONDE OperatingSystem SIMILAR TO `(` Windows `(3,1 | 95 | 98 | ME | CE | NT | 2000 | XP | Vista | 7 | 8))`

Esse predicado recupera todas as linhas que contêm qualquer um dos sistemas operacionais da Microsoft especificados.

o NULO predicado encontra todas as linhas onde o valor na coluna selecionada é nulo. Por exemplo, em uma tabela FOODS comparando o valor nutricional de diferentes alimentos, várias linhas têm valores nulos na carboidrato coluna. Você pode recuperar seus nomes usando uma instrução como a seguinte:

SELECIONAR (Food) FROM FOODSWHERE carboidratos é NULL -

Esta consulta retorna os seguintes valores:

Video: Aulas A+ Tipos de Predicado

Beef, magra hamburgerChicken, meatOpossum luz, roastedPork, presunto

Como você poderia esperar, incluindo o NÃO palavra-chave inverte o resultado, como no exemplo a seguir:

SELECIONAR (Food) FROM FOODSWHERE Carboidratos IS NOT NULL -


Essa consulta retorna todas as linhas da tabela, exceto o de quatro que a precederam consulta retorna.

A declaração O carboidrato é NULL é não o mesmo que Carboidratos = NULL. Para ilustrar este ponto, suponha que, na linha atual da tabela de FOODS, tanto carboidrato e Proteína são nulos. A partir deste fato, você pode tirar as seguintes conclusões:

  • O carboidrato é NULL é verdade.

  • A proteína é NULL é verdade.

  • Carboidrato é nula e proteína é NULL é verdade.

  • Carboidratos = Proteína É desconhecido.

  • Carboidratos = NULL é uma expressão ilegal.

Usando a palavra-chave NULO em uma comparação não tem sentido porque a resposta sempre retorna como desconhecido.

Por que é Carboidratos = Proteína definido como desconhecido, embora carboidrato e Proteína têm o mesmo valor (null)? Porque NULO significa simplesmente “Eu não sei.” Você não sabe o que carboidrato é, e você não sabe o que Proteína é-, portanto, você não sabe se esses valores (desconhecidos) são os mesmos.

Video: Predicado - Tipos de Predicado

Talvez carboidrato é de 37, e Proteína é 14, ou talvez carboidrato é de 93, e Proteína é 93. Se você não sabe tanto o valor de carboidratos e o valor de proteína, você não pode dizer se os dois são a mesma coisa.


Publicações relacionadas