Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Join di 2 Tabelle | Unione di Tabelle
SQL Intermedio

bookJoin 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:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Analizziamo come abbiamo utilizzato JOIN nella nostra query:

  1. Nella parte SELECT, elenchiamo le colonne desiderate da entrambe le tabelle, assicurandoci di includere il nome della tabella per chiarezza;
  2. Nella parte JOIN, specifichiamo la tabella da unire e la colonna comune che le collega. In questo caso, sono employees.department e department.name;
  3. Successivamente, raggruppiamo i dati per type per calcolare il salario totale utilizzando la funzione SUM().

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'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.

Compito

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 colonna product.amount dalla tabella product.
  • Assegna l'alias total_amount alla seconda colonna.
  • Unisci la tabella category utilizzando un'istruzione JOIN.
  • Collega le tabelle sulla colonna comune product.category_id = category.id.
  • Raggruppa i risultati per category.name.
  • Ordina i risultati per total_amount.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4

bookJoin 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:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Analizziamo come abbiamo utilizzato JOIN nella nostra query:

  1. Nella parte SELECT, elenchiamo le colonne desiderate da entrambe le tabelle, assicurandoci di includere il nome della tabella per chiarezza;
  2. Nella parte JOIN, specifichiamo la tabella da unire e la colonna comune che le collega. In questo caso, sono employees.department e department.name;
  3. Successivamente, raggruppiamo i dati per type per calcolare il salario totale utilizzando la funzione SUM().

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'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.

Compito

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 colonna product.amount dalla tabella product.
  • Assegna l'alias total_amount alla seconda colonna.
  • Unisci la tabella category utilizzando un'istruzione JOIN.
  • Collega le tabelle sulla colonna comune product.category_id = category.id.
  • Raggruppa i risultati per category.name.
  • Ordina i risultati per total_amount.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 4
Sezione 3. Capitolo 1
single

single

some-alt