En SQL, es fundamental poder filtrar y ordenar datos para obtener resultados específicos y organizados. A continuación, se explican los comandos más comunes para estas operaciones.
Para ilustrar mejor trabajaremos con estas dos tablas:
usuarios| id | nombre |
|-----|----------|
| 1 | Juan |
| 2 | María |
| 3 | Pedro |
| 4 | Ana | pedidos| id | usuario_id | producto |
|-----|------------|---------------|
| 1 | 1 | Producto A |
| 2 | 1 | Producto B |
| 3 | 2 | Producto C |
| 4 | 5 | Producto D | WHEREEl comando WHERE se utiliza para filtrar registros que cumplen una condición específica.
SELECT * FROM usuarios WHERE nombre = 'Juan'; | id | nombre |
|-----|--------|
| 1 | Juan | ORDER BYEl comando ORDER BY se utiliza para ordenar los resultados de una consulta en función de una o más columnas. Puedes ordenar en orden ascendente (ASC) o descendente (DESC).
SELECT * FROM usuarios ORDER BY nombre ASC; | id | nombre |
|-----|--------|
| 1 | Juan |
| 4 | Ana |
| 2 | María |
| 3 | Pedro | LIMITEl comando LIMIT se utiliza para limitar la cantidad de registros devueltos por una consulta.
SELECT * FROM usuarios LIMIT 5; | id | usuario_id | producto |
|-----|------------|------------|
| 1 | 1 | Producto A |
| 2 | 1 | Producto B | SQL permite utilizar operadores para comparar valores en las condiciones de filtrado. Algunos operadores comunes son:
Mayor que (>)Filtra registros donde el valor es mayor que un número específico.
SELECT * FROM pedidos WHERE id > 2; | id | usuario_id | producto |
|-----|------------|------------|
| 3 | 2 | Producto C |
| 4 | 5 | Producto D | Menor que (<)Filtra registros donde el valor es menor que un número específico.
SELECT * FROM pedidos WHERE id < 3; | id | usuario_id | producto |
|-----|------------|------------|
| 1 | 1 | Producto A |
| 2 | 1 | Producto B | Igual a (=)Filtra registros donde el valor es igual a un número específico.
SELECT * FROM usuarios WHERE id = 1; | id | nombre |
|-----|--------|
| 1 | Juan | LIKEUtilizado para buscar un patrón en una columna de texto.
SELECT * FROM usuarios WHERE nombre LIKE 'J%';
-- Filtra usuarios cuyo nombre empieza con "J" | id | nombre |
|-----|--------|
| 1 | Juan |