Elenet.net
+3 voti
quesito posto 7 Marzo in Classe quinta da Gianni Messina Esperto (736 punti)
  

1 Risposta

0 voti

Le subquery possono restituire valori singoli, una singola riga, colonne multiple o più righe. La loro flessibilità le rende uno strumento potente per interrogazioni complesse, consentendo di eseguire analisi che richiedono più passaggi o di confrontare i dati all'interno della stessa tabella o tra tabelle diverse.

Esempi di Subquery

Subquery in una clausola WHERE

Per trovare i nomi degli impiegati che hanno lo stipendio superiore alla media:

SELECT nome, cognome FROM impiegati WHERE stipendio > (SELECT AVG(stipendio) FROM impiegati);

In questo caso, la subquery calcola lo stipendio medio degli impiegati, e la query principale seleziona gli impiegati che guadagnano più della media.

Subquery in una clausola FROM

Per elencare il numero di impiegati in ogni dipartimento che ha più di 10 impiegati:

SELECT dipartimento_id, COUNT(*) AS numero_impiegati FROM (SELECT dipartimento_id FROM impiegati GROUP BY dipartimento_id HAVING COUNT(*) > 10) AS dipartimenti_con_piu_impiegati GROUP BY dipartimento_id;

Qui, la subquery crea un elenco temporaneo dei dipartimenti con più di 10 impiegati, e la query esterna conta il numero di impiegati in ciascuno di questi dipartimenti.

Subquery in una clausola SELECT

Per selezionare gli impiegati insieme al numero totale di impiegati nel loro dipartimento:

SELECT nome, cognome, (SELECT COUNT(*) FROM impiegati AS i WHERE i.dipartimento_id = e.dipartimento_id) AS numero_totale_nel_dipartimento FROM impiegati AS e;

Questa query elenca tutti gli impiegati e include una colonna che mostra il totale degli impiegati nel loro rispettivo dipartimento, calcolato tramite una subquery.

Le subquery sono uno strumento versatile che può rendere le tue query SQL molto più potenti e flessibili, consentendo analisi complesse e interrogazioni dinamiche basate sui dati di un database.

risposta inviata 7 Marzo da Gianni Messina Esperto (736 punti)

Domande correlate

+3 voti
1 risposta
quesito posto 7 Marzo in Classe quinta da Gianni Messina Esperto (736 punti) | 48 visite
+3 voti
1 risposta
quesito posto 7 Marzo in Classe quinta da Gianni Messina Esperto (736 punti) | 51 visite
+1 voto
7 risposte
quesito posto 3 Dicembre 2014 in Classe quinta da Gianni Messina Esperto (736 punti) | 317 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti