Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Query Annidate | Sottoquery Nidificate
SQL Intermedio
course content

Contenuti del Corso

SQL Intermedio

SQL Intermedio

1. Raggruppamento
2. Sottoquery Nidificate
3. Unire le Tabelle
4. DDL e DML in SQL

book
Query Annidate

L'amministrazione scolastica è soddisfatta dei nostri recenti successi ed è ansiosa di andare avanti.

Mentre iniziano la loro pausa estiva, abbiamo l'opportunità di esplorare nuovi metodi e migliorare le nostre competenze SQL.

Il nostro obiettivo sarà sulle query nidificate, un concetto chiave in SQL.

Diamo un'occhiata a un esempio dal nostro database aziendale. Con la crescita dell'azienda, abbiamo aggiunto una nuova tabella department. Questo cambia il funzionamento del nostro database.

Controlliamo la struttura della nuova tabella per vedere il suo ruolo nel nostro database:

La nuova tabella contiene dipartimenti, i loro tipi e budget. E nella tabella employee, come ricorderete, ci sono informazioni sul dipartimento a cui appartiene ciascun dipendente.

Consideriamo un esempio in cui utilizziamo query annidate per recuperare quei dipendenti che lavorano in dipartimenti con budget di $500,000 o meno:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Utilizziamo una clausola WHERE per specificare che il nome del dipartimento dovrebbe essere presente nella tabella che recuperiamo con la sottoquery interna.

Scomponiamo questa query in due separate per vedere come funziona. Prima, recuperiamo i nomi dei dipartimenti con budget di $500,000 o meno (la nostra sottoquery interna):

123
SELECT name FROM department WHERE budget <= 500000
copy

Ora, considerando il risultato ottenuto, scriviamo la seconda query per recuperare informazioni sugli impiegati di questi dipartimenti:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

Il risultato di questa query sarà lo stesso della prima query.

Ecco una spiegazione passo dopo passo:

  1. La query interna ottiene i names dei dipartimenti di cui abbiamo bisogno;

  2. La clausola WHERE verifica se questi dipartimenti sono nella tabella dalla query interna;

  3. Otteniamo il risultato che vogliamo.

Ecco la sintassi di base per una query interna:

sql

Quando si utilizzano query annidate, tenere a mente questi punti importanti:

  1. Risultato Singolo nella Sottoquery: assicurarsi che la query annidata restituisca solo una colonna. Se utilizzata in un confronto, dovrebbe idealmente restituire un singolo valore. Questo è cruciale per operatori come =, >, <, >=, <=, <>;

  2. Tipi di Dati: il tipo di dato della colonna restituita dovrebbe corrispondere alla colonna con cui la si confronta, per evitare errori;

  3. Ottimizzazione: le query annidate possono essere lente, specialmente se eseguite per ogni riga nella query principale;

  4. Utilizzo dell'Operatore IN: le query annidate spesso utilizzano l'operatore IN per controllare i valori in un sottoinsieme. È possibile utilizzare anche operatori di confronto per condizioni più complesse.

1. Cos'è una query annidata in SQL?

2. Quale operatore SQL è comunemente usato con le query annidate per controllare i valori in un sottoinsieme?

3. Perché è importante che il tipo di dato della colonna restituita da una query annidata corrisponda alla colonna a cui viene confrontata?

question mark

Cos'è una query annidata in SQL?

Select the correct answer

question mark

Quale operatore SQL è comunemente usato con le query annidate per controllare i valori in un sottoinsieme?

Select the correct answer

question mark

Perché è importante che il tipo di dato della colonna restituita da una query annidata corrisponda alla colonna a cui viene confrontata?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1

Chieda ad AI

expand
ChatGPT

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

course content

Contenuti del Corso

SQL Intermedio

SQL Intermedio

1. Raggruppamento
2. Sottoquery Nidificate
3. Unire le Tabelle
4. DDL e DML in SQL

book
Query Annidate

L'amministrazione scolastica è soddisfatta dei nostri recenti successi ed è ansiosa di andare avanti.

Mentre iniziano la loro pausa estiva, abbiamo l'opportunità di esplorare nuovi metodi e migliorare le nostre competenze SQL.

Il nostro obiettivo sarà sulle query nidificate, un concetto chiave in SQL.

Diamo un'occhiata a un esempio dal nostro database aziendale. Con la crescita dell'azienda, abbiamo aggiunto una nuova tabella department. Questo cambia il funzionamento del nostro database.

Controlliamo la struttura della nuova tabella per vedere il suo ruolo nel nostro database:

La nuova tabella contiene dipartimenti, i loro tipi e budget. E nella tabella employee, come ricorderete, ci sono informazioni sul dipartimento a cui appartiene ciascun dipendente.

Consideriamo un esempio in cui utilizziamo query annidate per recuperare quei dipendenti che lavorano in dipartimenti con budget di $500,000 o meno:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Utilizziamo una clausola WHERE per specificare che il nome del dipartimento dovrebbe essere presente nella tabella che recuperiamo con la sottoquery interna.

Scomponiamo questa query in due separate per vedere come funziona. Prima, recuperiamo i nomi dei dipartimenti con budget di $500,000 o meno (la nostra sottoquery interna):

123
SELECT name FROM department WHERE budget <= 500000
copy

Ora, considerando il risultato ottenuto, scriviamo la seconda query per recuperare informazioni sugli impiegati di questi dipartimenti:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

Il risultato di questa query sarà lo stesso della prima query.

Ecco una spiegazione passo dopo passo:

  1. La query interna ottiene i names dei dipartimenti di cui abbiamo bisogno;

  2. La clausola WHERE verifica se questi dipartimenti sono nella tabella dalla query interna;

  3. Otteniamo il risultato che vogliamo.

Ecco la sintassi di base per una query interna:

sql

Quando si utilizzano query annidate, tenere a mente questi punti importanti:

  1. Risultato Singolo nella Sottoquery: assicurarsi che la query annidata restituisca solo una colonna. Se utilizzata in un confronto, dovrebbe idealmente restituire un singolo valore. Questo è cruciale per operatori come =, >, <, >=, <=, <>;

  2. Tipi di Dati: il tipo di dato della colonna restituita dovrebbe corrispondere alla colonna con cui la si confronta, per evitare errori;

  3. Ottimizzazione: le query annidate possono essere lente, specialmente se eseguite per ogni riga nella query principale;

  4. Utilizzo dell'Operatore IN: le query annidate spesso utilizzano l'operatore IN per controllare i valori in un sottoinsieme. È possibile utilizzare anche operatori di confronto per condizioni più complesse.

1. Cos'è una query annidata in SQL?

2. Quale operatore SQL è comunemente usato con le query annidate per controllare i valori in un sottoinsieme?

3. Perché è importante che il tipo di dato della colonna restituita da una query annidata corrisponda alla colonna a cui viene confrontata?

question mark

Cos'è una query annidata in SQL?

Select the correct answer

question mark

Quale operatore SQL è comunemente usato con le query annidate per controllare i valori in un sottoinsieme?

Select the correct answer

question mark

Perché è importante che il tipo di dato della colonna restituita da una query annidata corrisponda alla colonna a cui viene confrontata?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt