¿Cómo usar el operador AND de SQL Server?

Resumen: en este tutorial, aprenderás a usar el operador AND de SQL Server para combinar varias expresiones booleanas.
Continuando con el curso de SQL Server hoy veremos el operador AND, en el cual se utiliza para combinar dos expresiones booleanas en una cláusula WHERE, si no utiliza una cláusula WHERE.
Introducción al operador AND de SQL Server
El AND es un operador lógico que permite combinar dos expresiones booleanas. Devuelve TRUE
solo cuando ambas expresiones se evalúan como VERDADERO.
A continuación, se ilustra la sintaxis del operador AND
:
expresion_booleana AND expresion_booleana
La expresion_booleana es cualquier expresión booleana válida que se evalúe como TRUE
, FALSE
y UNKNOWN
.
La siguiente tabla muestra el resultado cuando combinas valores TRUE, FALSE y UNKNOWN usando el operador AND:
Desc. | TRUE | FALSE | UNKNOWN |
---|---|---|---|
TRUE | TRUE | FALSE | UNKNOWN |
FALSE | FALSE | FALSE | FALSE |
UNKNOWN | UNKNOWN | FALSE | UNKNOWN |
Ejemplos del operador AND de SQL Server
Consulta la siguiente tabla de productos en la base de datos de ejemplo:
A) Usando el ejemplo del operador AND
El siguiente ejemplo encuentra los productos donde el número de identificación de categoría es uno y el precio de lista es mayor a 400:
SELECT
*
FROM
production.products
WHERE
category_id = 1
AND list_price > 400
ORDER BY
list_price DESC;
Este es el resultado:
product_id | product_name | brand_id | category_id | model_year | list_price |
---|---|---|---|---|---|
98 | Electra Straight 8 3i (20-inch) - Boy's - 2017 | 1 | 1 | 2017 | 489.99 |
100 | Electra Townie 3i EQ (20-inch) - Boys' - 2017 | 1 | 1 | 2017 | 489.99 |
280 | Trek Superfly 24 - 2017/2018 | 9 | 1 | 2018 | 489.99 |
B) Ejemplo de uso de múltiples operadores AND
La siguiente declaración encuentra los productos que cumplen con todas las condiciones (WHERE) siguientes: la identificación de la categoría es 1, el precio de lista es mayor que 400 y la identificación de la marca es 1:
SELECT
*
FROM
production.products
WHERE
category_id = 1
AND list_price > 400
AND brand_id = 1
ORDER BY
list_price DESC;
Este es el resultado:
product_id | product_name | brand_id | category_id | model_year | list_price |
---|---|---|---|---|---|
98 | Electra Straight 8 3i (20-inch) - Boy's - 2017 | 1 | 1 | 2017 | 489.99 |
100 | Electra Townie 3i EQ (20-inch) - Boys' - 2017 | 1 | 1 | 2017 | 489.99 |
C) Uso del operador AND con otros operadores lógicos
En este ejemplo se usa el operador OR y el operador AND:
SELECT
*
FROM
production.products
WHERE
brand_id = 1
OR brand_id = 2
AND list_price > 1000
ORDER BY
brand_id DESC;
Este es el resultado (solo los primeros 10):
product_id | product_name | brand_id | category_id | model_year | list_price |
---|---|---|---|---|---|
41 | Haro Shift R3 - 2017 | 2 | 6 | 2017 | 1469.99 |
46 | Haro SR 1.3 - 2017 | 2 | 6 | 2017 | 1409.99 |
64 | Electra Townie Original 7D - 2017 | 1 | 3 | 2017 | 489.99 |
70 | Electra Amsterdam Original 3i - 2015/2017 | 1 | 3 | 2017 | 659.99 |
74 | Electra Cruiser Lux 1 - 2017 | 1 | 3 | 2017 | 439.99 |
75 | Electra Cruiser Lux Fat Tire 1 Ladies - 2017 | 1 | 3 | 2017 | 599.99 |
76 | Electra Girl's Hawaii 1 16" - 2017 | 1 | 3 | 2017 | 299.99 |
77 | Electra Glam Punk 3i Ladies' - 2017 | 1 | 3 | 2017 | 799.99 |
81 | Electra Amsterdam Fashion 7i Ladies' - 2017 | 1 | 3 | 2017 | 1099.99 |
82 | Electra Amsterdam Original 3i Ladies' - 2017 | 1 | 3 | 2017 | 659.99 |
En este ejemplo, usamos los operadores OR y AND en la condición. Como siempre, SQL Server evaluó primero el operador AND. Por lo tanto, la consulta recuperó los productos cuyo identificador de marca es dos y el precio de lista es superior a 1000 o aquellos cuyo identificador de marca es uno.
Para obtener el producto cuya identificación de marca es uno o dos y el precio de lista es superior a 1000, usaremos los paréntesis de la siguiente manera:
SELECT
*
FROM
production.products
WHERE
(brand_id = 1 OR brand_id = 2)
AND list_price > 1000
ORDER BY
brand_id;
Este es el resultado (solo los primeros 10):
product_id | product_name | brand_id | category_id | model_year | list_price |
---|---|---|---|---|---|
81 | Electra Amsterdam Fashion 7i Ladies' - 2017 | 1 | 3 | 2017 | 1099.99 |
191 | Electra Loft Go! 8i - 2018 | 1 | 5 | 2018 | 2799.99 |
192 | Electra Townie Go! 8i - 2017/2018 | 1 | 5 | 2018 | 2599.99 |
195 | Electra Townie Go! 8i Ladies' - 2018 | 1 | 5 | 2018 | 2599.99 |
198 | Electra Townie Commute Go! - 2018 | 1 | 5 | 2018 | 2999.99 |
199 | Electra Townie Commute Go! Ladies' - 2018 | 1 | 5 | 2018 | 2999.99 |
250 | Electra Townie Go! 8i - 2017/2018 | 1 | 3 | 2018 | 2599.99 |
251 | Electra Townie Commute Go! - 2018 | 1 | 3 | 2018 | 2999.99 |
252 | Electra Townie Commute Go! Ladies' - 2018 | 1 | 3 | 2018 | 2999.99 |
253 | Electra Townie Go! 8i Ladies' - 2018 | 1 | 3 | 2018 | 2599.99 |
En este tutorial, aprendiste a usar el operador AND de SQL Server para combinar dos expresiones booleanas.