Operadores AND, OR y NOT en SQL
Los operadores
AND
,
OR
y
NOT
en SQL permiten combinar varias condiciones dentro de la cláusula
WHERE
cuando una sola comparación no basta.
Operadores AND, OR y NOT en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.
Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.
AND
exige que se cumplan todas las condiciones a la vez («país España y ciudad Madrid»).
OR
basta con que se cumpla una («ciudad Madrid o ciudad Barcelona»).
NOT
invierte una condición y excluye las filas que la cumplen.
Consejo:
si mezclas
AND
y
OR
en la misma consulta, usa paréntesis para dejar claro qué condiciones van juntas. SQL evalúa primero
AND
y después
OR
si no indicas lo contrario.
-
AND— todas las condiciones deben ser ciertas. -
OR— basta con una condición verdadera. -
NOT— niega la condición que le sigue.
Operador AND en SQL
Con
AND
unes condiciones: todas deben cumplirse. Piensa en «país España y además ciudad Madrid».
Plantilla AND
SELECT columna1, columna2, ...
FROM nombre_tabla
WHERE condición1 AND condición2 AND condición3 ...;
Clientes españoles que viven en Madrid — las dos condiciones a la vez:
Resultado: solo clientes españoles de Madrid.
| Nombre_Cliente | Ciudad | Pais |
|---|---|---|
| Ana García | Madrid | España |
| Carlos Ruiz | Madrid | España |
Base de datos demo para AND, OR y NOT
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
Operador OR en SQL
Con
OR
basta con que se cumpla una condición. «Ciudad Madrid o ciudad Barcelona» incluye clientes de cualquiera de las dos.
Plantilla OR
SELECT columna1, columna2, ...
FROM nombre_tabla
WHERE condición1 OR condición2 OR condición3 ...;
Clientes de Madrid o de Barcelona:
Madrid o Barcelona
SELECT *
FROM Clientes
WHERE Ciudad = 'Madrid' OR Ciudad = 'Barcelona';
Resultado: clientes de Madrid más los de Barcelona.
| Nombre_Cliente | Ciudad |
|---|---|
| Ana García | Madrid |
| Carlos Ruiz | Madrid |
| Luis Pérez | Barcelona |
Operador NOT en SQL
NOT
invierte una condición: devuelve las filas que no la cumplen.
Plantilla NOT
SELECT columna1, columna2, ...
FROM nombre_tabla
WHERE NOT condición;
Todos los clientes que no son de España:
Resultado: clientes de UK, Francia, Alemania, etc. — todos menos los españoles.
| Nombre_Cliente | Pais |
|---|---|
| John Smith | UK |
| Marie Dubois | Francia |
| Hans Müller | Alemania |
| Luca Rossi | Italia |
| Sofia Anders | Suecia |
AND y OR con paréntesis en WHERE
Sin paréntesis, SQL evalúa primero
AND
y luego
OR
. Aquí queremos clientes españoles de Madrid o de Valencia:
España y (Madrid o Valencia)
SELECT *
FROM Clientes
WHERE Pais = 'España' AND (Ciudad = 'Madrid' OR Ciudad = 'Valencia');
Resultado: clientes españoles de Madrid o de Valencia.
| Nombre_Cliente | Ciudad | Pais |
|---|---|---|
| Ana García | Madrid | España |
| Carlos Ruiz | Madrid | España |
| María López | Valencia | España |
Base de datos demo para AND, OR y NOT
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
Resumen
ANDexige que se cumplan todas las condiciones.ORbasta con una condición verdadera.NOTniega una condición.- Usa paréntesis si mezclas
ANDyOR.
Practica con ejercicios
Repasa la lección con consultas sobre Clientes (Elena Torres, Valencia…) y Productos (pera, mango, fresa) de nuestra base demo.
Ejercicio: Operador AND
Practica WHERE con dos condiciones unidas por AND. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: Operador OR
Practica WHERE con OR entre dos ciudades. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: Operador NOT
Practica NOT para excluir un país. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: Combinar AND, OR y paréntesis
Practica una condición compuesta con AND y OR. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Consulta
SELECT *
FROM Clientes
WHERE Pais = 'España' AND (Ciudad = 'Madrid' OR Ciudad = 'Valencia');
Cómo practicar
1. Pulsa Ejecutar aquí en el bloque.
2. Modifica la consulta (filtro, columnas…).
3. O abre el editor para más espacio.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.