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:

España y Madrid

    SELECT * 
FROM Clientes
WHERE Pais = 'España' AND Ciudad = 'Madrid';
  
Abrir en editor

Resultado: solo clientes españoles de Madrid.

Nombre_ClienteCiudadPais
Ana GarcíaMadridEspaña
Carlos RuizMadridEspañ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
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.


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';
  
Abrir en editor

Resultado: clientes de Madrid más los de Barcelona.

Nombre_ClienteCiudad
Ana GarcíaMadrid
Carlos RuizMadrid
Luis PérezBarcelona


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:

Excluir España

    SELECT * 
FROM Clientes
WHERE NOT Pais = 'España';
  
Abrir en editor

Resultado: clientes de UK, Francia, Alemania, etc. — todos menos los españoles.

Nombre_ClientePais
John SmithUK
Marie DuboisFrancia
Hans MüllerAlemania
Luca RossiItalia
Sofia AndersSuecia

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');
  
Abrir en editor

Resultado: clientes españoles de Madrid o de Valencia.

Nombre_ClienteCiudadPais
Ana GarcíaMadridEspaña
Carlos RuizMadridEspaña
María LópezValenciaEspañ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
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.

Resumen

  • AND exige que se cumplan todas las condiciones.
  • OR basta con una condición verdadera.
  • NOT niega una condición.
  • Usa paréntesis si mezclas AND y OR.

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…).

Consulta

    SELECT *
FROM Clientes
WHERE Pais = 'España' AND Ciudad = 'Madrid';
  
Abrir en editor

Ejercicio: Operador OR

Practica WHERE con OR entre dos ciudades. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT *
FROM Clientes
WHERE Ciudad = 'Madrid' OR Ciudad = 'Barcelona';
  
Abrir en editor

Ejercicio: Operador NOT

Practica NOT para excluir un país. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT *
FROM Clientes
WHERE NOT Pais = 'España';
  
Abrir en editor

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');
  
Abrir en editor

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.