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.ASCoDESC: 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
ASCoDESC, 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 BYimporta. 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
