Join di 2 Tabelle
Abbiamo attirato l'attenzione di un'azienda che possiede un piccolo negozio online. Dispongono di 2 tabelle correlate tra loro. La prima tabella contiene informazioni sui prodotti venduti nel negozio online.
Ecco come si presenta la tabella product
:
La seconda tabella contiene le categorie di prodotti presenti sul sito, insieme a una breve descrizione per ciascuna categoria.
Ecco come si presenta la tabella category
:
Il nostro primo compito è unire queste due tabelle per scoprire quanti prodotti ci sono in ciascuna categoria. Utilizzeremo un'istruzione JOIN
per raggiungere questo obiettivo.
Prima di affrontare il compito, vediamo cos'è un'istruzione JOIN
e come funziona.
Per unire due tabelle, è necessario che condividano una colonna in comune. Vediamo come funziona JOIN
utilizzando le tabelle employees
e department
. La loro colonna in comune è employees.department
e departments.name
.
Nota
Quando si scrivono colonne provenienti da queste tabelle, iniziare con il nome della tabella, aggiungere un punto e poi il nome della colonna. Questo aiuta a mantenere il codice chiaro, specialmente quando le tabelle hanno colonne con lo stesso nome. Indica a SQL esattamente a quale tabella e colonna ci si riferisce.
Ecco il compito di recuperare il salario totale per i dipendenti in ciascun tipo di dipartimento (tech
/non-tech
).
La query per svolgere questo compito sarà la seguente:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Analizziamo come abbiamo utilizzato JOIN
nella nostra query:
- Nella parte
SELECT
, elenchiamo le colonne desiderate da entrambe le tabelle, assicurandoci di includere il nome della tabella per chiarezza; - Nella parte
JOIN
, specifichiamo la tabella da unire e la colonna comune che le collega. In questo caso, sonoemployees.department
edepartment.name
; - Successivamente, raggruppiamo i dati per
type
per calcolare il salario totale utilizzando la funzioneSUM()
.
Se questo sembra complesso, ecco una semplice sintassi per utilizzare JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Nota
A differenza della clausola
UNION
, l'istruzioneJOIN
consente di combinare intere tabelle, non solo le colonne che hanno in comune. Inoltre, conJOIN
non è necessario utilizzare sottoquery come avviene conUNION
.
Swipe to start coding
È necessario unire le due tabelle: category
e product
. Le colonne comuni tra queste due tabelle sono product.category_id
e category.id
.
Il tuo compito è trovare la quantità totale di prodotti in ciascuna categoria. Per farlo, devi calcolare la somma della colonna product.amount
.
Utilizza l'alias total_amount
per questa colonna.
Alla fine della query, ordina il risultato in base alla colonna total_amount
in ordine crescente.
Nella risposta, dovresti avere 2 colonne: category.name
e total.amount
.
Istruzioni sintetiche
- Recupera la colonna
category.name
e la somma della colonnaproduct.amount
dalla tabellaproduct
. - Assegna l'alias
total_amount
alla seconda colonna. - Unisci la tabella
category
utilizzando un'istruzioneJOIN
. - Collega le tabelle sulla colonna comune
product.category_id = category.id
. - Raggruppa i risultati per
category.name
. - Ordina i risultati per
total_amount
.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4
Join di 2 Tabelle
Scorri per mostrare il menu
Abbiamo attirato l'attenzione di un'azienda che possiede un piccolo negozio online. Dispongono di 2 tabelle correlate tra loro. La prima tabella contiene informazioni sui prodotti venduti nel negozio online.
Ecco come si presenta la tabella product
:
La seconda tabella contiene le categorie di prodotti presenti sul sito, insieme a una breve descrizione per ciascuna categoria.
Ecco come si presenta la tabella category
:
Il nostro primo compito è unire queste due tabelle per scoprire quanti prodotti ci sono in ciascuna categoria. Utilizzeremo un'istruzione JOIN
per raggiungere questo obiettivo.
Prima di affrontare il compito, vediamo cos'è un'istruzione JOIN
e come funziona.
Per unire due tabelle, è necessario che condividano una colonna in comune. Vediamo come funziona JOIN
utilizzando le tabelle employees
e department
. La loro colonna in comune è employees.department
e departments.name
.
Nota
Quando si scrivono colonne provenienti da queste tabelle, iniziare con il nome della tabella, aggiungere un punto e poi il nome della colonna. Questo aiuta a mantenere il codice chiaro, specialmente quando le tabelle hanno colonne con lo stesso nome. Indica a SQL esattamente a quale tabella e colonna ci si riferisce.
Ecco il compito di recuperare il salario totale per i dipendenti in ciascun tipo di dipartimento (tech
/non-tech
).
La query per svolgere questo compito sarà la seguente:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Analizziamo come abbiamo utilizzato JOIN
nella nostra query:
- Nella parte
SELECT
, elenchiamo le colonne desiderate da entrambe le tabelle, assicurandoci di includere il nome della tabella per chiarezza; - Nella parte
JOIN
, specifichiamo la tabella da unire e la colonna comune che le collega. In questo caso, sonoemployees.department
edepartment.name
; - Successivamente, raggruppiamo i dati per
type
per calcolare il salario totale utilizzando la funzioneSUM()
.
Se questo sembra complesso, ecco una semplice sintassi per utilizzare JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Nota
A differenza della clausola
UNION
, l'istruzioneJOIN
consente di combinare intere tabelle, non solo le colonne che hanno in comune. Inoltre, conJOIN
non è necessario utilizzare sottoquery come avviene conUNION
.
Swipe to start coding
È necessario unire le due tabelle: category
e product
. Le colonne comuni tra queste due tabelle sono product.category_id
e category.id
.
Il tuo compito è trovare la quantità totale di prodotti in ciascuna categoria. Per farlo, devi calcolare la somma della colonna product.amount
.
Utilizza l'alias total_amount
per questa colonna.
Alla fine della query, ordina il risultato in base alla colonna total_amount
in ordine crescente.
Nella risposta, dovresti avere 2 colonne: category.name
e total.amount
.
Istruzioni sintetiche
- Recupera la colonna
category.name
e la somma della colonnaproduct.amount
dalla tabellaproduct
. - Assegna l'alias
total_amount
alla seconda colonna. - Unisci la tabella
category
utilizzando un'istruzioneJOIN
. - Collega le tabelle sulla colonna comune
product.category_id = category.id
. - Raggruppa i risultati per
category.name
. - Ordina i risultati per
total_amount
.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 4single