📘 Lección 4: Operadores lógicos — AND, OR y NOT

🔹 Introducción

En la lección anterior aprendiste a filtrar datos con WHERE usando condiciones simples como =, >, < o !=.

Pero en la vida real, muchas veces necesitamos combinar varias condiciones al mismo tiempo.
Ejemplos:

  • Mostrar los alumnos mayores de 18 años Y que vivan en Madrid.
  • Mostrar los alumnos que tengan 17 años O que sean de Buenos Aires.
  • Mostrar los alumnos que NO vivan en Ciudad de México.

👉 Para eso utilizamos los operadores lógicos:

  • AND → ambas condiciones deben cumplirse.
  • OR → se cumple una u otra condición.
  • NOT → excluye resultados que cumplen una condición.

🔹 Sintaxis general

SELECT columnas
FROM tabla
WHERE condición1 AND/OR/NOT condición2;

👉 Aquí SELECT define las columnas que verás, y WHERE aplica los filtros lógicos.

🔹 Ejemplo base (nuestra tabla alumnos)

Recordemos la tabla con la que venimos trabajando:

idnombreedadciudad
1Ana20Buenos Aires
2Juan17Ciudad de México
3Laura22Madrid
4Pedro18Madrid

🔹 Ejemplo 1: usar AND

Queremos ver a los alumnos que tienen más de 18 años y que viven en Madrid:

SELECT nombre, edad, ciudad
FROM alumnos
WHERE edad > 18 AND ciudad = 'Madrid';

👉 Resultado esperado:

nombreedadciudad
Laura22Madrid

🔹 Ejemplo 2: usar OR

Queremos ver a los alumnos que son de Buenos Aires o que tienen 17 años:

SELECT nombre, edad, ciudad
FROM alumnos
WHERE ciudad = 'Buenos Aires' OR edad = 17;

👉 Resultado esperado:

nombreedadciudad
Ana20Buenos Aires
Juan17Ciudad de México

🔹 Ejemplo 3: usar NOT

Queremos ver a todos los alumnos que no viven en Madrid:

SELECT nombre, ciudad
FROM alumnos
WHERE NOT ciudad = 'Madrid';

👉 Resultado esperado:

nombreciudad
AnaBuenos Aires
JuanCiudad de México

🔹 Ejemplo 4: combinar AND y OR

Queremos ver a los alumnos que (son de Madrid y mayores de 18) o que son de Buenos Aires.

SELECT nombre, edad, ciudad
FROM alumnos
WHERE (ciudad = 'Madrid' AND edad > 18) OR ciudad = 'Buenos Aires';

👉 Resultado esperado:

nombreedadciudad
Ana20Buenos Aires
Laura22Madrid

📌 Nota: Los paréntesis ayudan a dejar claro el orden de las condiciones, igual que en matemáticas.

🔹 Ejemplo 5: usar NOT con AND

Queremos ver a los alumnos que no sean de Buenos Aires y además no tengan 17 años.

SELECT nombre, edad, ciudad
FROM alumnos
WHERE ciudad <> 'Buenos Aires'
  AND edad <> 17;

👉 Resultado esperado:

nombreedadciudad
Laura22Madrid
Pedro18Madrid

🔹 Ejercicio práctico (para ti)

  1. Muestra los alumnos que tengan 18 años y vivan en Madrid.
  2. Muestra los alumnos que sean de Ciudad de México o tengan más de 21 años.
  3. Muestra los alumnos que no sean de Buenos Aires.
  4. Muestra los alumnos que (sean de Madrid y mayores de 20) o que tengan 17 años.

🔹 Soluciones

SELECT *
FROM alumnos
WHERE edad = 18 AND ciudad = 'Madrid';
SELECT *
FROM alumnos
WHERE ciudad = 'Ciudad de México' OR edad > 21;
SELECT nombre, ciudad
FROM alumnos
WHERE NOT ciudad = 'Buenos Aires';
SELECT *
FROM alumnos
WHERE (ciudad = 'Madrid' AND edad > 20) OR edad = 17;

🔹 Mini Quiz

 

Resultados

#1. ¿Qué operador lógico muestra resultados solo si se cumplen todas las condiciones?

#2. ¿Cuál de estas consultas muestra a los alumnos de Madrid o de Buenos Aires?

#3. ¿Qué hace el operador NOT en SQL?

Previa
Finalizar

🔹 Resumen de la lección

  • AND → ambas condiciones deben cumplirse.
  • OR → se cumple una condición u otra.
  • NOT → excluye registros que cumplen una condición.
  • Puedes combinar varios operadores y usar paréntesis para controlar el orden.

👉 En la próxima lección aprenderás a ordenar y limitar resultados con ORDER BY y LIMIT.

🔄 Si deseas repasar o avanzar, consulta el temario completo en el Curso SQL online.

Scroll al inicio