Introducció

En aquest tema, explorarem les unions avançades a BigQuery. Les unions són una eina poderosa per combinar dades de diverses taules en una sola consulta. En aquest mòdul, aprendrem sobre les diferents tècniques d'unió avançades, incloent-hi les unions internes, externes, completes i creuades, així com les seves aplicacions pràctiques.

Tipus d'Unions

  1. Unió Interna (INNER JOIN)

L'unió interna retorna només les files que tenen coincidències en ambdues taules.

Sintaxi:

SELECT a.column1, b.column2
FROM table1 a
INNER JOIN table2 b
ON a.common_column = b.common_column;

Exemple:

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

Aquest exemple retorna els noms dels empleats i els noms dels departaments només per als empleats que tenen un departament assignat.

  1. Unió Externa Esquerra (LEFT JOIN)

L'unió externa esquerra retorna totes les files de la taula esquerra i les files coincidents de la taula dreta. Si no hi ha coincidència, els resultats de la taula dreta seran NULL.

Sintaxi:

SELECT a.column1, b.column2
FROM table1 a
LEFT JOIN table2 b
ON a.common_column = b.common_column;

Exemple:

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

Aquest exemple retorna tots els noms dels empleats i els noms dels departaments, incloent-hi els empleats que no tenen un departament assignat (amb valors NULL per al nom del departament).

  1. Unió Externa Dreta (RIGHT JOIN)

L'unió externa dreta retorna totes les files de la taula dreta i les files coincidents de la taula esquerra. Si no hi ha coincidència, els resultats de la taula esquerra seran NULL.

Sintaxi:

SELECT a.column1, b.column2
FROM table1 a
RIGHT JOIN table2 b
ON a.common_column = b.common_column;

Exemple:

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

Aquest exemple retorna tots els noms dels departaments i els noms dels empleats, incloent-hi els departaments que no tenen empleats assignats (amb valors NULL per al nom de l'empleat).

  1. Unió Externa Completa (FULL JOIN)

L'unió externa completa 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 per a la taula que no té coincidència.

Sintaxi:

SELECT a.column1, b.column2
FROM table1 a
FULL JOIN table2 b
ON a.common_column = b.common_column;

Exemple:

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

Aquest exemple retorna tots els noms dels empleats i els noms dels departaments, incloent-hi els empleats sense departament i els departaments sense empleats.

  1. Unió Creuada (CROSS JOIN)

L'unió creuada retorna el producte cartesià de les dues taules, és a dir, combina cada fila de la primera taula amb cada fila de la segona taula.

Sintaxi:

SELECT a.column1, b.column2
FROM table1 a
CROSS JOIN table2 b;

Exemple:

SELECT employees.name, departments.department_name
FROM employees
CROSS JOIN departments;

Aquest exemple retorna totes les combinacions possibles de noms d'empleats i noms de departaments.

Exercicis Pràctics

Exercici 1: Unió Interna

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: Unió Externa Esquerra

Descripció: Troba tots els empleats i els seus departaments, incloent-hi els empleats sense departament.

Consulta:

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

Exercici 3: Unió Externa Completa

Descripció: Troba tots els empleats i departaments, incloent-hi els empleats sense departament i els departaments sense empleats.

Consulta:

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

Errors Comuns i Consells

  1. Oblidar-se de l'ON en les unions: Assegura't d'incloure la condició d'unió amb l'ON per evitar resultats incorrectes.
  2. Confondre els tipus d'unions: Comprèn bé les diferències entre les unions per utilitzar la més adequada segons el cas.
  3. Unions creuades no intencionades: Les unions creuades poden generar un gran volum de dades. Utilitza-les amb precaució.

Conclusió

Les unions avançades són essencials per combinar dades de diverses taules de manera eficient i significativa. Comprendre els diferents tipus d'unions i les seves aplicacions pràctiques et permetrà realitzar anàlisis de dades més complexes i detallades a BigQuery. Practica amb els exercicis proporcionats per consolidar els teus coneixements i prepara't per al següent tema del curs.

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