Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Basi di Dati: Guida Completa ai JOIN - Prof. Spoladore, Appunti di Basi di Dati

Una panoramica completa dei join nei database, spiegando come unire due o pi abelle in base ai valori delle colonne corrispondenti. Vengono illustrati i diversi tipi di join, tra cui inner join, outer join (left, right, full), natural join e cross join, con esempi di sintassi query. Inoltre, vengono descritte le funzioni di gruppo come max, min, sum, avg e count, e le clausole group by e having per l'aggregazione e il filtraggio dei dati. Il documento utile per studenti e professionisti che desiderano approfondire le proprie conoscenze sui database relazionali e sull'sql. La guida offre una panoramica chiara e concisa dei concetti fondamentali, rendendola un ottimo punto di partenza per chi si avvicina a questo argomento.

Tipologia: Appunti

2023/2024

In vendita dal 01/11/2025

Fede_Botta
Fede_Botta 🇮🇹

25 documenti

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
07/10/2024
Basi di dati
JOIN
Il JOIN è l’operazione che permette di unire due o più tabelle in base ai valori delle
colonne corrispondenti.
Date due relazione A e B, il JOIN viene usato per generare tutte le coppie formate da
una tupla di A e una tupla di B che sono legate mediante le chiavi esterne.
I record delle colonne vengono combinati insieme in un’unica relazione sulla base di
una condizione che viene specificata nella QUERY; la relazione risultante non è altro
che il prodotto cartesiano di tutte le righe delle due tabelle.
QUERY
Le relazioni argomento del prodotto cartesiano vanno nel FROM:
SELECT * FROM Tabella1, Tabella2
Una forma alternativa per scrivere la QUERY è:
SELECT * FROM Tabella1 JOIN Tabella2 (USING Attributo)
Nel WHERE invece viene inserito il predicato di JOIN, ovvero l’attributo chiave
esterna:
SELECT * FROM Tabella1, Tabella2
WHERE Tabella1.Attributo = Tabella2.Attributo
Una volta fatta la QUERY le tuple che hanno lo stesso attributo vengono abbinate tra
loro, mentre quelle che non hanno nessuna corrispondenza non vengono incluse nella
tabella risultante.
N.B.
Il grado della relazione è uguale alla somma dei gradi delle relazioni operande.
Tipi di sintassi JOIN
JOIN ON
È un’operazione di JOIN che specifica le condizioni di unione; ON
definisce il modo in cui le tabelle coinvolte devono essere unite.
ON specifica che le tabelle in questione devono essere unite in base
alla corrispondenza tra la prima colonna e la seconda colonna.
SELECT *
FROM Tabella1 JOIN Tabella2 ON Tabella1.Attributo = Tabella2.Attributo
pf3
pf4

Anteprima parziale del testo

Scarica Basi di Dati: Guida Completa ai JOIN - Prof. Spoladore e più Appunti in PDF di Basi di Dati solo su Docsity!

Basi di dati JOIN Il JOIN è l’operazione che permette di unire due o più tabelle in base ai valori delle colonne corrispondenti. Date due relazione A e B, il JOIN viene usato per generare tutte le coppie formate da una tupla di A e una tupla di B che sono legate mediante le chiavi esterne. I record delle colonne vengono combinati insieme in un’unica relazione sulla base di una condizione che viene specificata nella QUERY; la relazione risultante non è altro che il prodotto cartesiano di tutte le righe delle due tabelle. QUERY Le relazioni argomento del prodotto cartesiano vanno nel FROM: SELECT * FROM Tabella1, Tabella Una forma alternativa per scrivere la QUERY è: SELECT * FROM Tabella1 JOIN Tabella2 (USING Attributo) Nel WHERE invece viene inserito il predicato di JOIN, ovvero l’attributo chiave esterna: SELECT * FROM Tabella1, Tabella WHERE Tabella1.Attributo = Tabella2.Attributo Una volta fatta la QUERY le tuple che hanno lo stesso attributo vengono abbinate tra loro, mentre quelle che non hanno nessuna corrispondenza non vengono incluse nella tabella risultante. N.B. Il grado della relazione è uguale alla somma dei gradi delle relazioni operande. Tipi di sintassi JOIN JOIN ON È un’operazione di JOIN che specifica le condizioni di unione; ON definisce il modo in cui le tabelle coinvolte devono essere unite. ON specifica che le tabelle in questione devono essere unite in base alla corrispondenza tra la prima colonna e la seconda colonna. SELECT * FROM Tabella1 JOIN Tabella2 ON Tabella1.Attributo = Tabella2.Attributo

JOIN USING

È un’operazione di JOIN che specifica le condizioni di unione nella forma; USING definisce il modo in cui le tabelle coinvolte se e solo se gli attributi coinvolti hanno lo stesso nome. SELECT * FROM Tabella1 JOIN Tabella2 USING (Attributo); Tipi di JOIN INNER JOIN Restituisce le righe quando la condizione di JOIN è soddisfatta in entrambe le tabelle; viene restituito il record che corrisponde alla condizione di JOIN in entrambe le tabelle. OUTER JOIN Restituisce tutte le righe di una tabella e alcune o tutte le righe di un’altra tabella. Può essere di tre tipi:

  • LEFT - > Permette di mantenere tutte le righe della tabella di sinistra.
  • RIGHT - > Permette di mantenere tutte le righe della tabella di destra.
  • FULL - > Permette di mantenere tutte le righe, sia della tabella di destra che di quelle di sinistra. NATURAL Per poter essere utilizzato richiede l’uguaglianza di tutte le colonne con lo stesso nome nelle due relazioni; proprio come nel JOIN USING, le tabelle con colonne uguali vengono incluse una sola volta nella risultante. Il NATURAL JOIN identifica automaticamente e combina le colonne implicitamente uguali. SELECT * FROM Tabella1 NATURAL JOIN Tabella N.B. Anche se il NATURAL JOIN può semplificare la scrittura della query, può comunque risultare meno chiaro rispetto ad un INNER JOIN esplicito.

MIN

SELECT MIN (Attributo) FROM Tabella WHERE …. SUM SELECT SUM(Attributo) FROM Tabella WHERE extract (month FROM (DataOrd)) = N.B. Extract permette di prendere un elemento di un data Extract (day from (Data)) AVG SELECT AVG (Attributo) FROM Tabella COUNT SELECT COUNT (Attributo) FROM Tabella DISTINCT Distintc permette di visualizzare una sola volta le righe con qualche colonna uguale. Raggruppamento GROUP BY Come clausola aggiuntiva può essere inserito GROUP BY. GROUP BY permette di dividere le tuple di una tabella in base al valore di una o più colonne. N.B. Le colonne che compaiono nel GROUP BY devono essere per forza presenti nella clausola SELECT. HAVING Altra clausola che consente di specificare le condizioni sui valori aggregati; è seguita da un predicato booleano. Es. SELECT … FROM… HAVING SUM(Attributo)>