Para qué sirven los operadores AND y OR de SQL Server

Los operadores AND y OR de SQL son operadores booleanos utilizados para especificar condiciones compuestas en una cláusula WHERE.
Sintaxis
La sintaxis para usar AND y OR en una condición compuesta es la siguiente:
En este ejemplo el operador AND mostrará los resultados cuando se cumplan las 2 condiciones.
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condición1" AND "condición2"
En esta condición el operador OR mostrará los resultados cuando se cumpla cualquiera de las 2 condiciones.
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condición1" OR "condición2"
Recordemos que las condiciones WHERE también se utilizan en las instrucciones UPDATE, en las cuales los operadores AND y OR funcionan igual, la diferencia es que el UPDATE actualiza los datos que cumplan con las condiciones WHERE.
Ejemplos
Usamos la tabla Employes de base de datos Northwind que hemos estado utilizando y la pueden descargar en esta liga.
Tabla Employes:
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
1 | Davolio | Nancy | Representante de Ventas | 507 - 20th Ave. E. Apt. 2A |
2 | Web Group | Estrada | Vice President, Sales | 908 W. Capital Way |
3 | Leverling | Janet | Representante de Ventas | 722 Moss Bay Blvd. |
4 | Peacock | Margaret | Representante de Ventas | 4110 Old Redmond Rd. |
5 | Buchanan | Steven | Sales Manager | 14 Garrett Hill |
6 | Suyama | Michael | Representante de Ventas | Coventry House Miner Rd. |
7 | King | Robert | Representante de Ventas | Edgeham Hollow Winchester Way |
8 | Callahan | Laura | Inside Sales Coordinator | 4726 - 11th Ave. N.E. |
9 | Dodsworth | Anne | Representante de Ventas | 7 Houndstooth Rd. |
Si queremos seleccionar todos los empleados que sean Representante de Ventas y que el EmployeeID sea mayor que 3 ingresamos lo siguiente:
select EmployeeID,
LastName,
FirstName,
Title,
Address
from Employees where Title='Representante de Ventas' And EmployeeID>3
El resultado es el siguiente:
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
4 | Peacock | Margaret | Representante de Ventas | 4110 Old Redmond Rd. |
6 | Suyama | Michael | Representante de Ventas | Coventry House Miner Rd. |
7 | King | Robert | Representante de Ventas | Edgeham Hollow Winchester Way |
9 | Dodsworth | Anne | Representante de Ventas | 7 Houndstooth Rd. |
Si queremos seleccionar todos los empleados que sean Representante de Ventas o Sales Manager, ingresamos lo siguiente:
select EmployeeID,
LastName,
FirstName,
Title,
Address
from Employees where Title='Representante de Ventas' or Title= 'Sales Manager'
Resultado
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
1 | Davolio | Nancy | Representante de Ventas | 507 - 20th Ave. E. Apt. 2A |
3 | Leverling | Janet | Representante de Ventas | 722 Moss Bay Blvd. |
4 | Peacock | Margaret | Representante de Ventas | 4110 Old Redmond Rd. |
5 | Buchanan | Steven | Sales Manager | 14 Garrett Hill |
6 | Suyama | Michael | Representante de Ventas | Coventry House Miner Rd. |
7 | King | Robert | Representante de Ventas | Edgeham Hollow Winchester Way |
9 | Dodsworth | Anne | Representante de Ventas | 7 Houndstooth Rd. |
En el siguiente ejemplo combinaremos el AND y el OR.
Si queremos seleccionar todos los empleados que sean Representante de Ventas o Sales Manager y que el EmployeeID sea mayor que 3 ingresamos lo siguiente:
select EmployeeID,
LastName,
FirstName,
Title,
Address
from Employees where (Title='Representante de Ventas' or Title= 'Sales Manager') And EmployeeID>3
Resultado:
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
4 | Peacock | Margaret | Representante de Ventas | 4110 Old Redmond Rd. |
5 | Buchanan | Steven | Sales Manager | 14 Garrett Hill |
6 | Suyama | Michael | Representante de Ventas | Coventry House Miner Rd. |
7 | King | Robert | Representante de Ventas | Edgeham Hollow Winchester Way |
9 | Dodsworth | Anne | Representante de Ventas | 7 Houndstooth Rd. |
Espero que los ejemplos y artículos que estoy publicando te sean de utilidad y estés aprendiendo SQL Server. Envía tus comentarios para enriquecer el curso SQL Server y en seguida te contestare tus dudas, sugerencias y comentarios.