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 ogni categoria. Utilizzeremo un'istruzione JOIN per raggiungere questo obiettivo.
Prima di affrontare il compito, vediamo cos'è un'istruzione JOIN e come funziona.
JOIN in SQL è un'operazione che combina le righe di due o più tabelle in base a una colonna correlata tra di esse. JOIN consente di ottenere dati da più tabelle in una sola query, semplificando l'analisi e l'elaborazione dei dati correlati.
Per unire due tabelle, queste devono condividere una colonna in comune. Vediamo come funziona JOIN utilizzando le tabelle employees e department. La loro colonna in comune è employees.department e departments.name.
Quando si scrivono colonne 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, soprattutto 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
Analisi dell'utilizzo di JOIN nella query:
- Nella parte
SELECT, vengono elencate le colonne desiderate da entrambe le tabelle, includendo il nome della tabella per chiarezza; - Nella parte
JOIN, viene specificata la tabella da unire e la colonna comune che le collega. In questo caso, si tratta diemployees.departmentedepartment.name; - Successivamente, i dati vengono raggruppati per
typeper 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
A differenza della clausola UNION, l'istruzione JOIN consente di combinare intere tabelle, non solo le colonne che hanno in comune. Inoltre, con JOIN non è necessario utilizzare sottoquery come avviene con UNION.
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.
L'obiettivo è trovare la quantità totale di prodotti in ciascuna categoria. Per farlo, è necessario calcolare la somma della colonna product.amount.
Utilizzare l'alias total_amount per questa colonna.
Al termine della query, ordinare il risultato in base alla colonna total_amount in ordine crescente.
Nella risposta, devono essere presenti 2 colonne: category.name e total.amount.
Istruzioni sintetiche
- Recuperare la colonna
category.namee la somma della colonnaproduct.amountdalla tabellaproduct. - Assegnare l'alias
total_amountalla seconda colonna. - Unire la tabella
categoryutilizzando un'istruzioneJOIN. - Collegare le tabelle sulla colonna comune
product.category_id = category.id. - Raggruppare i risultati per
category.name. - Ordinare 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
Can you explain how the JOIN would work for the product and category tables?
What type of JOIN should I use for this scenario?
Can you show an example query joining the product and category tables?
Fantastico!
Completion tasso migliorato a 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 ogni categoria. Utilizzeremo un'istruzione JOIN per raggiungere questo obiettivo.
Prima di affrontare il compito, vediamo cos'è un'istruzione JOIN e come funziona.
JOIN in SQL è un'operazione che combina le righe di due o più tabelle in base a una colonna correlata tra di esse. JOIN consente di ottenere dati da più tabelle in una sola query, semplificando l'analisi e l'elaborazione dei dati correlati.
Per unire due tabelle, queste devono condividere una colonna in comune. Vediamo come funziona JOIN utilizzando le tabelle employees e department. La loro colonna in comune è employees.department e departments.name.
Quando si scrivono colonne 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, soprattutto 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
Analisi dell'utilizzo di JOIN nella query:
- Nella parte
SELECT, vengono elencate le colonne desiderate da entrambe le tabelle, includendo il nome della tabella per chiarezza; - Nella parte
JOIN, viene specificata la tabella da unire e la colonna comune che le collega. In questo caso, si tratta diemployees.departmentedepartment.name; - Successivamente, i dati vengono raggruppati per
typeper 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
A differenza della clausola UNION, l'istruzione JOIN consente di combinare intere tabelle, non solo le colonne che hanno in comune. Inoltre, con JOIN non è necessario utilizzare sottoquery come avviene con UNION.
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.
L'obiettivo è trovare la quantità totale di prodotti in ciascuna categoria. Per farlo, è necessario calcolare la somma della colonna product.amount.
Utilizzare l'alias total_amount per questa colonna.
Al termine della query, ordinare il risultato in base alla colonna total_amount in ordine crescente.
Nella risposta, devono essere presenti 2 colonne: category.name e total.amount.
Istruzioni sintetiche
- Recuperare la colonna
category.namee la somma della colonnaproduct.amountdalla tabellaproduct. - Assegnare l'alias
total_amountalla seconda colonna. - Unire la tabella
categoryutilizzando un'istruzioneJOIN. - Collegare le tabelle sulla colonna comune
product.category_id = category.id. - Raggruppare i risultati per
category.name. - Ordinare i risultati per
total_amount.
Soluzione
Grazie per i tuoi commenti!
single