En aquest tema, aprendrem a utilitzar la clàusula WHERE per filtrar dades en una consulta SQL. La clàusula WHERE és essencial per seleccionar només les files que compleixen certes condicions, permetent-nos treballar amb subconjunts específics de dades.

Conceptes Clau

  • Clàusula WHERE: Utilitzada per especificar condicions que les files han de complir per ser incloses en el resultat de la consulta.
  • Operadors de comparació: Inclouen =, !=, >, <, >=, <=.
  • Operadors lògics: Inclouen AND, OR, NOT.

Sintaxi Bàsica

La sintaxi bàsica de la clàusula WHERE és la següent:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Exemples Pràctics

Exemple 1: Filtrar per una condició simple

Suposem que tenim una taula employees amb les següents columnes: id, name, age, department.

SELECT name, age
FROM employees
WHERE age > 30;

Aquest exemple selecciona els noms i edats dels empleats que tenen més de 30 anys.

Exemple 2: Utilitzar múltiples condicions amb AND

SELECT name, department
FROM employees
WHERE age > 30 AND department = 'Sales';

Aquest exemple selecciona els noms i departaments dels empleats que tenen més de 30 anys i treballen en el departament de vendes.

Exemple 3: Utilitzar múltiples condicions amb OR

SELECT name, age
FROM employees
WHERE age < 25 OR age > 50;

Aquest exemple selecciona els noms i edats dels empleats que tenen menys de 25 anys o més de 50 anys.

Exemple 4: Negar una condició amb NOT

SELECT name, department
FROM employees
WHERE NOT department = 'HR';

Aquest exemple selecciona els noms i departaments dels empleats que no treballen en el departament de recursos humans.

Exercicis Pràctics

Exercici 1

Descripció: Selecciona els noms i edats dels empleats que tenen exactament 40 anys.

Consulta:

SELECT name, age
FROM employees
WHERE age = 40;

Exercici 2

Descripció: Selecciona els noms i departaments dels empleats que treballen en el departament de 'IT' o 'Marketing'.

Consulta:

SELECT name, department
FROM employees
WHERE department = 'IT' OR department = 'Marketing';

Exercici 3

Descripció: Selecciona els noms dels empleats que tenen més de 35 anys i no treballen en el departament de 'Finance'.

Consulta:

SELECT name
FROM employees
WHERE age > 35 AND NOT department = 'Finance';

Errors Comuns i Consells

  • Error de sintaxi: Assegura't que la clàusula WHERE estigui correctament escrita i que les condicions estiguin ben formades.
  • Ús incorrecte dels operadors lògics: Recorda que AND té prioritat sobre OR. Utilitza parèntesis per aclarir l'ordre de les operacions si és necessari.
  • Comparació de valors nuls: Els valors nuls (NULL) no es poden comparar directament amb operadors de comparació. Utilitza IS NULL o IS NOT NULL per treballar amb valors nuls.

Resum

En aquesta secció, hem après a utilitzar la clàusula WHERE per filtrar dades en una consulta SQL. Hem vist com utilitzar operadors de comparació i lògics per crear condicions complexes. També hem practicat amb alguns exercicis per reforçar els conceptes apresos. En el següent tema, explorarem com ordenar les dades utilitzant la clàusula ORDER BY.

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