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.
UNION ALL
L'UNION ALL
combina els resultats de dues consultes i inclou totes les files, incloent les duplicades.
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
Exemple 4: UNION ALL
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:
Exercici 4: UNION ALL
Descripció: Combina les llistes de noms d'empleats i contractistes, incloent duplicats.
Consulta:
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
- 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