:arrow_up: ir al inicio
En este ejercicio aprenderemos a ordenar las filas de una tabla SQL y para estoi estutemaremos una nueva clausula llamada ORDER BY
La clasusula order by en SQL es usada para ordernar los resultados de una declaracion SELECT in orden ascendente o descendente. El comando ordena por defecto de maera ascendente, siq ueremos ordenar de manera descendente debemos usar la palabra clave desc
Select column1, column2
from table_name
order by column1, column2, asc
Select column1, column2
from table_name
order by column1, column2, desc
Ordena los registros de la tabla usuarios por el campo ‘nombre’
select * from usuarios order by nombre
Ejercicio En este ejercicio se tiene una tabla usuarios con los campos id, nombre, apellido, email y teléfono. Se te pide ordenar los registros de la tabla ‘usuarios’ por el campo ‘nombre’ en orden ascendente.
select * from usuarios order by nombre asc
Ejercicio Se tiene una tabla productos con los campos id, nombre, precio y stock. Selecciona sólo los precios de la tabla ‘productos’ ordenados de forma descendente.
select precio from productos order by precio desc
Ordena la tabla empleados por la columna ‘salario’ de manera ascendente.
select * from empleados order by salario asc
Con NULLS FIRST se muestran los nulos primeros y con NULLS LAST se muestran al final
Ejercicio Dada una tabla productos con las columnas ‘id’, ‘nombre’ y ‘precio’ con los siguientes registos.
| ID | NOMBRE | PRECIO |
|---|---|---|
| 1 | Producto 1 | 100 |
| 2 | Producto 2 | NULL |
| 3 | Producto 3 | 50 |
| 4 | Producto 4 | NULL |
| 5 | Producto 5 | 200 |
Ordena las filas de la tabla en función del precio de forma ascendente. Asegúrate de que las filas con valores nulos en la columna ‘precio’ aparezcan al final de la lista ordenada.
select * from productos order by precio asc nulls last
En algunas situaciones vamos a querer ordenar en función de múltiples columnas. Por ejemplo, si queremos obtener una lista de todos los productos ordenados por su stock y luego por su color, podemos seleccionar todos los campos de la tabla y ordenarlos primero por el campo stock y luego por el campo color de la siguiente manera:
SELECT * FROM productos ORDER BY stock ASC, color ASC
Ejercicio Se tiene la tabla empleados con la siguiente información:
| ID | NOMBRE | SALARIO |
|---|---|---|
| 1 | Juan Pérez | 4800 |
| 2 | María López | 5500 |
| 3 | Pedro García | 5500 |
| 4 | Ana Martínez | 5500 |
| 5 | Luis Rodríguez | 4800 |
Selecciona una lista de todos los empleados ordenados por su salario y por su nombre.
select * from empleados order by salario asc, nombre asc
Se tiene la tabla productos con la siguiente información:
| ID | NOMBRE | STOCK | COLOR |
|---|---|---|---|
| 1 | Silla | 10 | Rojo |
| 2 | Mesa | 5 | Verde |
| 3 | Lámpara | 15 | Azul |
| 4 | Escritorio | 8 | Blanco |
| 5 | Estantería | 12 | Negro |
Selecciona todos los registros de la tabla ‘productos’ y ordénalos primero por ‘stock’ de forma descendente y luego por ‘color’ de forma ascendente.
select * from productos order by stock desc, color asc