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ção | Símbolo |
---|---|
Igual | = |
Não igual | lt;> |
Menos que | lt; |
Menor ou igual | lt; = |
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.