Como usar Comparação predicados e ENTRE em instruções SQL

Normalmente, você vai usar predicados de comparação SQL para comparar um valor com outro. Para cada linha em que a comparação é avaliada como um valor True, esse valor satisfaz o ONDE cláusula, ea operação (SELECIONAR, ATUALIZAR, EXCLUIR, ou qualquer outro) executa em cima dessa linha. As linhas que a comparação é avaliada como FALSO são ignorados. Considere a seguinte instrução SQL:

* SELECT FROM Calorias FOODSWHERE lt; 219 -

Esta declaração mostra todas as linhas da tabela de alimentos que têm um valor inferior a 219 na calorias coluna.

ComparaçãoSímbolo
Igual=
Não iguallt;>
Menos quelt;
Menor ou iguallt; =
Melhor que>
Maior do que ou igual> =

Às vezes você quer selecionar uma linha, se o valor em uma coluna cai dentro de um intervalo especificado. Uma maneira de fazer essa seleção é usando predicados de comparação. Por exemplo, você pode formular um ONDE cláusula para selecionar todas as linhas na tabela de alimentos que têm um valor na calorias coluna superior a 100 e inferior a 300, como se segue:

ONDE FOODS.Calories> 100 e FOODS.Calories lt; 300

Esta comparação não inclui alimentos com uma contagem de calorias de exatamente 100 ou 300 - apenas os valores que se enquadram entre estes dois números. Para incluir os pontos finais (neste caso, 100 e 300), você pode escrever a instrução da seguinte forma:

ONDE FOODS.Calories> = 100 e FOODS.Calories lt; = 300

Uma outra maneira de especificar uma gama que inclui os pontos finais é a utilização de um ENTRE predicado na seguinte forma:

ONDE FOODS.Calories entre 100 e 300

Esta disposição é funcionalmente idêntica à do exemplo anterior, que utiliza predicados de comparação. Esta formulação poupa algum digitação - e é um pouco mais intuitiva do que aquele que usa dois predicados de comparação juntar-se o conectivo lógico E.

o ENTRE palavra-chave pode ser confuso porque não dizer explicitamente se a cláusula inclui os pontos finais. Na verdade, a cláusula faz incluem estes pontos finais. Quando você usa o ENTRE palavra-chave, um pouco birdy não swoop para baixo para lembrá-lo que o primeiro termo da comparação deve ser igual ou menor que o segundo.

Se, por exemplo, FOODS.Calories contém um valor de 200, a seguinte cláusula retorna um valor True:

ONDE FOODS.Calories entre 100 e 300

No entanto, uma cláusula que você pode pensar que é equivalente ao exemplo anterior retorna o resultado oposto, False:

ONDE FOODS.Calories entre 300 e 100

Se você usar ENTRE, tem de ser capaz de garantir que o primeiro termo na sua comparação é sempre igual ou menor que o segundo termo.

Você pode usar o ENTRE predicado com caráter, pouco, e tipos de dados de data e hora, bem como com os tipos numéricos. Você pode ver algo semelhante ao seguinte exemplo:

SELECIONAR FirstName, LastNameFROM CUSTOMERWHERE CUSTOMER.LastName entre "A" e "Mzzz '-

Este exemplo retorna todos os clientes cujos sobrenomes estão na primeira metade do alfabeto.

menu