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
- Unió Interna (INNER JOIN)
L'unió interna retorna només les files que tenen coincidències en ambdues taules.
Sintaxi:
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.
- 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:
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).
- 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:
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).
- 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:
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.
- 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:
Exemple:
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
- Oblidar-se de l'ON en les unions: Assegura't d'incloure la condició d'unió amb l'ON per evitar resultats incorrectes.
- Confondre els tipus d'unions: Comprèn bé les diferències entre les unions per utilitzar la més adequada segons el cas.
- 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
- Què és BigQuery?
- Configurar el teu entorn de BigQuery
- Comprendre l'arquitectura de BigQuery
- Visió general de la consola de BigQuery
Mòdul 2: SQL bàsic a BigQuery
Mòdul 3: SQL intermedi a BigQuery
Mòdul 4: SQL avançat a BigQuery
- Unions avançades
- Camps niats i repetits
- Funcions definides per l'usuari (UDFs)
- Particionament i agrupament
Mòdul 5: Gestió de dades a BigQuery
- Carregar dades a BigQuery
- Exportar dades de BigQuery
- Transformació i neteja de dades
- Gestió de conjunts de dades i taules
Mòdul 6: Optimització del rendiment de BigQuery
- Tècniques d'optimització de consultes
- Comprendre els plans d'execució de consultes
- Ús de vistes materialitzades
- Optimització de l'emmagatzematge
Mòdul 7: Seguretat i compliment de BigQuery
Mòdul 8: Integració i automatització de BigQuery
- Integració amb serveis de Google Cloud
- Ús de BigQuery amb Dataflow
- Automatització de fluxos de treball amb Cloud Functions
- Programació de consultes amb Cloud Scheduler
Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)
- Introducció a BigQuery ML
- Creació i entrenament de models
- Avaluació i predicció amb models
- Funcions avançades de BQML