En aquest tema, aprendrem com utilitzar la clàusula ORDER BY
per ordenar els resultats d'una consulta SQL. L'ordenació de dades és una operació comuna i essencial per a la presentació i l'anàlisi de dades.
Conceptes Clau
- Clàusula
ORDER BY
: Utilitzada per ordenar els resultats d'una consulta en ordre ascendent o descendent. - Ordre ascendent (
ASC
): Ordena els resultats de menor a major (per defecte). - Ordre descendent (
DESC
): Ordena els resultats de major a menor.
Sintaxi Bàsica
La sintaxi bàsica de la clàusula ORDER BY
és la següent:
column1, column2, ...
: Les columnes per les quals vols ordenar els resultats.ASC
oDESC
: Opcional. Indica si vols ordenar en ordre ascendent o descendent. Si no s'especifica, l'ordre per defecte és ascendent (ASC
).
Exemples Pràctics
Exemple 1: Ordenar per una sola columna
Suposem que tenim una taula employees
amb les següents dades:
id | name | salary |
---|---|---|
1 | Alice | 50000 |
2 | Bob | 60000 |
3 | Charlie | 55000 |
Per ordenar els empleats per salari en ordre ascendent:
Resultat:
name | salary |
---|---|
Alice | 50000 |
Charlie | 55000 |
Bob | 60000 |
Exemple 2: Ordenar per una sola columna en ordre descendent
Per ordenar els empleats per salari en ordre descendent:
Resultat:
name | salary |
---|---|
Bob | 60000 |
Charlie | 55000 |
Alice | 50000 |
Exemple 3: Ordenar per múltiples columnes
Suposem que tenim una taula students
amb les següents dades:
id | name | grade | age |
---|---|---|---|
1 | Alice | A | 20 |
2 | Bob | B | 22 |
3 | Charlie | A | 21 |
4 | David | B | 20 |
Per ordenar els estudiants primer per grade
en ordre ascendent i després per age
en ordre descendent:
Resultat:
name | grade | age |
---|---|---|
Charlie | A | 21 |
Alice | A | 20 |
Bob | B | 22 |
David | B | 20 |
Exercicis Pràctics
Exercici 1
Tens una taula products
amb les següents columnes: product_id
, product_name
, price
. Escriu una consulta per obtenir tots els productes ordenats per price
en ordre ascendent.
Exercici 2
Tens una taula orders
amb les següents columnes: order_id
, customer_id
, order_date
. Escriu una consulta per obtenir totes les comandes ordenades per order_date
en ordre descendent.
Exercici 3
Tens una taula employees
amb les següents columnes: employee_id
, name
, department
, salary
. Escriu una consulta per obtenir tots els empleats ordenats primer per department
en ordre ascendent i després per salary
en ordre descendent.
Errors Comuns i Consells
- Oblidar especificar l'ordre: Si no especifiques
ASC
oDESC
, l'ordre per defecte serà ascendent (ASC
). - Ordenar per columnes no seleccionades: Pots ordenar per columnes que no estan incloses en la clàusula
SELECT
. - Ordenar per múltiples columnes: Recorda que l'ordre de les columnes en la clàusula
ORDER BY
importa. La primera columna té prioritat, seguida de la segona, etc.
Conclusió
La clàusula ORDER BY
és una eina poderosa per ordenar els resultats de les teves consultes SQL. Pots ordenar per una o múltiples columnes i especificar l'ordre ascendent o descendent segons les teves necessitats. Practica amb diferents exemples per familiaritzar-te amb aquesta funcionalitat essencial.
Curs de SQL
Mòdul 1: Introducció a SQL
Mòdul 2: Consultes bàsiques de SQL
Mòdul 3: Treballar amb múltiples taules
Mòdul 4: Filtratge avançat de dades
- Utilitzar LIKE per a coincidències de patrons
- Operadors IN i BETWEEN
- Valors NULL i IS NULL
- Agrupar dades amb GROUP BY
- Clàusula HAVING
Mòdul 5: Manipulació de dades
Mòdul 6: Funcions avançades de SQL
Mòdul 7: Subconsultes i consultes niades
- Introducció a les subconsultes
- Subconsultes correlacionades
- EXISTS i NOT EXISTS
- Utilitzar subconsultes en les clàusules SELECT, FROM i WHERE
Mòdul 8: Índexs i optimització del rendiment
- Comprendre els índexs
- Crear i gestionar índexs
- Tècniques d'optimització de consultes
- Analitzar el rendiment de les consultes
Mòdul 9: Transaccions i concurrència
- Introducció a les transaccions
- Propietats ACID
- Instruccions de control de transaccions
- Gestionar la concurrència
Mòdul 10: Temes avançats
Mòdul 11: SQL en la pràctica
- Casos d'ús del món real
- Millors pràctiques
- SQL per a l'anàlisi de dades
- SQL en el desenvolupament web