Introducció

En aquest tema, aprendrem sobre les unions i combinacions en SQL, que són tècniques essencials per combinar dades de diverses taules. Aquestes operacions són fonamentals per a l'anàlisi de dades i la creació de consultes complexes en BigQuery.

Objectius

  • Comprendre la diferència entre les unions i les combinacions.
  • Aprendre a utilitzar les diferents tipus d'unions (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN).
  • Aprendre a utilitzar les unions (UNION, UNION ALL).
  • Aplicar aquests conceptes en exemples pràctics.

Tipus d'Unions

INNER JOIN

L'INNER JOIN retorna només les files que tenen coincidències en ambdues taules.

SELECT a.column1, b.column2
FROM table_a a
INNER JOIN table_b b
ON a.common_column = b.common_column;

LEFT JOIN

El LEFT JOIN retorna totes les files de la taula esquerra (table_a), i les files coincidents de la taula dreta (table_b). Si no hi ha coincidència, els resultats de la taula dreta seran NULL.

SELECT a.column1, b.column2
FROM table_a a
LEFT JOIN table_b b
ON a.common_column = b.common_column;

RIGHT JOIN

El RIGHT JOIN és similar al LEFT JOIN, però retorna totes les files de la taula dreta (table_b) i les files coincidents de la taula esquerra (table_a). Si no hi ha coincidència, els resultats de la taula esquerra seran NULL.

SELECT a.column1, b.column2
FROM table_a a
RIGHT JOIN table_b b
ON a.common_column = b.common_column;

FULL JOIN

El FULL JOIN retorna totes les files quan hi ha una coincidència en qualsevol de les taules. Si no hi ha coincidència, els resultats seran NULL en les taules que no tenen coincidència.

SELECT a.column1, b.column2
FROM table_a a
FULL JOIN table_b b
ON a.common_column = b.common_column;

Unions

UNION

L'UNION combina els resultats de dues consultes i elimina les files duplicades.

SELECT column1 FROM table_a
UNION
SELECT column1 FROM table_b;

UNION ALL

L'UNION ALL combina els resultats de dues consultes i inclou totes les files, incloent les duplicades.

SELECT column1 FROM table_a
UNION ALL
SELECT column1 FROM table_b;

Exemples Pràctics

Exemple 1: INNER JOIN

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;

Exemple 2: LEFT JOIN

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

Exemple 3: UNION

SELECT name FROM employees
UNION
SELECT name FROM contractors;

Exemple 4: UNION ALL

SELECT name FROM employees
UNION ALL
SELECT name FROM contractors;

Exercicis Pràctics

Exercici 1: INNER JOIN

Descripció: Troba els noms dels empleats i els noms dels seus departaments.

Consulta:

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;

Exercici 2: LEFT JOIN

Descripció: Troba tots els empleats i els seus departaments, incloent els empleats que no tenen un departament assignat.

Consulta:

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

Exercici 3: UNION

Descripció: Combina les llistes de noms d'empleats i contractistes, eliminant duplicats.

Consulta:

SELECT name FROM employees
UNION
SELECT name FROM contractors;

Exercici 4: UNION ALL

Descripció: Combina les llistes de noms d'empleats i contractistes, incloent duplicats.

Consulta:

SELECT name FROM employees
UNION ALL
SELECT name FROM contractors;

Resum

En aquest tema, hem après sobre les unions i combinacions en SQL, incloent els diferents tipus d'unions (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN) i les unions (UNION, UNION ALL). Hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. Aquestes tècniques són fonamentals per treballar amb dades en BigQuery i crear consultes complexes.

En el següent tema, explorarem les subconsultes, que ens permetran crear consultes més avançades i eficients.

Curs de BigQuery

Mòdul 1: Introducció a BigQuery

Mòdul 2: SQL bàsic a BigQuery

Mòdul 3: SQL intermedi a BigQuery

Mòdul 4: SQL avançat a BigQuery

Mòdul 5: Gestió de dades a BigQuery

Mòdul 6: Optimització del rendiment de BigQuery

Mòdul 7: Seguretat i compliment de BigQuery

Mòdul 8: Integració i automatització de BigQuery

Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)

Mòdul 10: Casos d'ús de BigQuery en el món real

© Copyright 2024. Tots els drets reservats