📢 Nuovo Corso Python Completo disponibile!

Esercizi JOIN Multiple SQL

Ecco degli esercizi semplici con soluzione per praticare le basi sull’utilizzo di multiple join in una sola query in sql.

⚠ Hai trovato errori su questa pagina? Vuoi suggerire idee o contribuire? Visita la pagina contatti

Tracce

🍰 Esercizio 1

Ottieni il nome dei dipendenti, il nome dei manager che li supervisionano e il nome dei dipartimenti a cui appartengono.
SELECT d.Nome, m.Nome, e.Nome
FROM Dipendente AS d
JOIN Dipendente AS m
    ON d.ID_Manager = m.ID
JOIN Dipartimento AS e
    ON d.ID_Dipartimento = e.ID;

🍰 Esercizio 2

Ottieni il nome dei prodotti, il nome dei fornitori che li forniscono e il nome dei dipartimenti in cui si trovano.
SELECT p.Nome, f.Nome, d.Nome
FROM Prodotto AS p
JOIN Fornitore AS f
    ON p.ID_Fornitore = f.ID
JOIN Dipartimento AS d
    ON f.ID_Dipartimento = d.ID;

🍰 Esercizio 3

Ottieni il nome degli studenti, il nome dei corsi a cui sono iscritti e il nome dei docenti che insegnano quei corsi.
SELECT s.Nome, c.Nome, d.Nome
FROM Studente AS s
JOIN Iscrizione AS i
    ON s.ID = i.ID_Studente
JOIN Corso AS c
    ON i.ID_Corso = c.ID
JOIN Docente AS d
    ON c.ID_Docente = d.ID;

🍰 Esercizio 4

Ottieni il nome degli autori, il nome dei libri che hanno scritto e il nome dei generi a cui appartengono quei libri.
SELECT a.Nome, l.Titolo, g.Nome
FROM Autore AS a
JOIN Libro AS l
    ON a.ID = l.ID_Autore
JOIN Genere AS g
    ON l.ID_Genere = g.ID;

🍰 Esercizio 5

Ottieni il nome dei clienti, il nome dei prodotti che hanno acquistato e la quantità di ciascun prodotto.
SELECT c.Nome, p.Nome, d.Quantita
FROM Cliente AS c
JOIN Ordine AS o
    ON c.ID = o.ID_Cliente
JOIN DettaglioOrdine AS d
    ON o.ID = d.ID_Ordine
JOIN Prodotto AS p
    ON d.ID_Prodotto = p.ID;

🍰 Esercizio 6

Ottieni il nome degli impiegati, il nome dei dipartimenti in cui lavorano e il nome dei manager che supervisionano quei dipartimenti.
SELECT e.Nome, d.Nome, m.Nome
FROM Impiegato AS e
JOIN Dipendente AS d
    ON e.ID_Dipendente = d.ID
JOIN Dipendente AS m
    ON d.ID_Manager = m.ID;

🍰 Esercizio 7

Ottieni il nome degli attori, il nome dei film in cui hanno recitato e il nome dei registi di quei film.
SELECT a.Nome, f.Titolo, r.Nome
FROM Attore AS a
JOIN Recitazione AS r
    ON a.ID = r.ID_Attore
JOIN Film AS f
    ON r.ID_Film = f.ID
JOIN Regista AS rg
    ON f.ID_Regista = rg.ID;

🍰 Esercizio 8

Ottieni il nome dei fornitori, il nome dei prodotti che forniscono e il nome dei dipartimenti in cui si trovano i prodotti.
SELECT f.Nome, p.Nome, d.Nome
FROM Fornitore AS f
JOIN Prodotto AS p
    ON f.ID = p.ID_Fornitore
JOIN Dipartimento AS d
    ON f.ID_Dipartimento = d.ID;

🍰 Esercizio 9

Ottieni il nome degli studenti, il nome dei corsi a cui sono iscritti e il nome dei dipartimenti in cui si tengono i corsi.
SELECT s.Nome, c.Nome, d.Nome
FROM Studente AS s
JOIN Iscrizione AS i
    ON s.ID = i.ID_Studente
JOIN Corso AS c
    ON i.ID_Corso = c.ID
JOIN Dipartimento AS d
    ON c.ID_Dipartimento = d.ID;

🍰 Esercizio 10

Ottieni il nome degli autori, il nome dei libri che hanno scritto e il nome dei generi a cui appartengono quei libri, solo per gli autori che hanno scritto più di un libro.
SELECT a.Nome, l.Titolo, g.Nome
FROM Autore AS a
JOIN Libro AS l
    ON a.ID = l.ID_Autore
JOIN Genere AS g
    ON l.ID_Genere = g.ID
WHERE a.ID IN (
    SELECT ID_Autore
    FROM Libro
    GROUP BY ID_Autore
    HAVING COUNT(*) > 1
);