WHERE mantiene filas que cumplen una condición
Sin filtro, la consulta devuelve todas las filas. WHERE se escribe después de FROM y compara una columna con un valor.
Los textos están rodeados de apóstrofes. Los números permanecen sin apóstrofes cuando se almacenan como números.
=igual<>diferente- Comparaciones estrictas de
>y< >=y<=incluyen valor límite
SELECT produit, prix
FROM produits
WHERE prix < 50;Combinar con AND, OR y NOT
AND requiere que ambas condiciones sean verdaderas. OR acepta que solo una condición es verdadera. Los paréntesis hacen explícita la prioridad.
NOT invierte una prueba. Debe utilizarse con una redacción que sea fácil de releer.
SELECT produit, categorie, prix
FROM produits
WHERE categorie = 'Informática'
AND prix <= 100;ORDER BY organiza el resultado
ORDER BY ocurre después del filtro. ASC ordena en orden ascendente y suele ser el valor predeterminado. DESC aplica orden descendente.
Se pueden especificar varias columnas. El segundo separa líneas idénticas según el primero.
SELECT produit, prix
FROM produits
WHERE prix >= 10
ORDER BY prix DESC, produit ASC;Preste atención a los valores NULL
NULL significa sin valor conocido. No se compara con = NULL.
Utiliza IS NULL para encontrar valores faltantes y IS NOT NULL para valores completados.
SELECT nom
FROM clients
WHERE ville IS NULL;Hacer un filtro explicable y reproducible
Un filtro traduce una regla de negocio. Escribe esta regla como oración antes de convertirla a SQL: Órdenes pagadas, creadas durante julio, cuyo monto sea al menos 100 TND. Cada palabra influye en el operador y los límites.
Las fechas requieren atención especial. Para un periodo completo, un punto de inicio incluido y un punto final excluido evitan problemas de tiempo: date >= '2026-07-01' AND date < '2026-08-01'.
Una clasificación también debe ser estable. Cuando dos filas tengan el mismo valor principal, añade un segundo criterio único para obtener el mismo orden en cada ejecución y en cada exportación paginada.
SELECT id_commande, date_commande, montant
FROM commandes
WHERE statut = 'Pagado'
AND date_commande >= DATE '2026-07-01'
AND date_commande < DATE '2026-08-01'
ORDER BY montant DESC, id_commande ASC;Comprueba lo que has entendido
Mostrar productos con un precio mínimo de 40 TND, del más barato al más caro.
SELECT produit, prix
FROM produits
WHERE -- condición
ORDER BY -- ordenación;Progreso
¿Has completado esta lección?
Tu elección permanece en este navegador y también se sincroniza con tu cuenta cuando inicias sesión.