Como usar predicados similares e nulos em instruções sql
Video: VIDEO AULA - Núcleo do predicado
Conteúdo
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.