En la vida real casi nunca buscamos datos con una sola condición.
Usamos AND, OR y NOT para combinar filtros y hacer consultas más inteligentes y precisas.
Se usa cuando quieres que se cumplan **todas** las condiciones al mismo tiempo.
SELECT titulo, precio, consola, genero
FROM videojuegos
WHERE consola = 'PC'
AND precio < 40
AND genero = 'Acción';
"Quiero juegos de PC, que cuesten menos de 40€ y que sean de Acción."
Se usa cuando quieres resultados que cumplan **al menos una** de las condiciones.
SELECT titulo, consola, precio
FROM videojuegos
WHERE consola = 'PlayStation 5'
OR consola = 'Xbox Series X'
OR consola = 'PC';
Es muy común combinar ambos. Usa paréntesis `()` para controlar el orden de las condiciones.
SELECT titulo, precio, genero, consola
FROM videojuegos
WHERE (genero = 'Acción' OR genero = 'Aventura')
AND precio < 50
AND consola != 'Nintendo Switch';
Consejo: Los paréntesis son muy importantes. Sin ellos, SQL puede interpretar tu consulta de forma diferente a lo que quieres.
Se usa para excluir resultados.
SELECT titulo, consola, precio
FROM videojuegos
WHERE NOT consola = 'Nintendo Switch';
O de forma más común:
SELECT titulo, genero
FROM videojuegos
WHERE genero != 'Deportes'
AND genero != 'Carreras';
-- Juegos de Acción o Aventura, que cuesten menos de 60€,
-- que NO sean de Nintendo Switch y que sean de consola actual
SELECT titulo, consola, precio, genero
FROM videojuegos
WHERE (genero = 'Acción' OR genero = 'Aventura')
AND precio < 60
AND consola != 'Nintendo Switch'
AND consola IN ('PC', 'PlayStation 5', 'Xbox Series X');
Usando la tabla videojuegos con columnas: titulo, consola, precio, genero.
Prueba tus consultas en DB Fiddle.