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:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • column1, column2, ...: Les columnes per les quals vols ordenar els resultats.
  • ASC o DESC: 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:

SELECT name, salary
FROM employees
ORDER BY salary ASC;

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:

SELECT name, salary
FROM employees
ORDER BY salary DESC;

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:

SELECT name, grade, age
FROM students
ORDER BY grade ASC, age DESC;

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.

-- Solució
SELECT product_name, price
FROM products
ORDER BY price ASC;

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.

-- Solució
SELECT order_id, customer_id, order_date
FROM orders
ORDER BY order_date DESC;

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.

-- Solució
SELECT name, department, salary
FROM employees
ORDER BY department ASC, salary DESC;

Errors Comuns i Consells

  • Oblidar especificar l'ordre: Si no especifiques ASC o DESC, 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

Mòdul 5: Manipulació de dades

Mòdul 6: Funcions avançades de SQL

Mòdul 7: Subconsultes i consultes niades

Mòdul 8: Índexs i optimització del rendiment

Mòdul 9: Transaccions i concurrència

Mòdul 10: Temes avançats

Mòdul 11: SQL en la pràctica

Mòdul 12: Projecte final

© Copyright 2024. Tots els drets reservats