Utilizzo di Sottoquery Interne nella Sezione FROM
Una sottoquery interna crea una tabella con cui poi eseguiamo operazioni nella query esterna.
Da ciò possiamo concludere che è possibile utilizzare una sottoquery interna all'interno della sezione FROM
per selezionare qualcosa da questa tabella.
Consideriamo un esempio in cui dobbiamo lavorare con employees
il cui salary
è superiore a un certo valore. Ma invece di una clausola WHERE
, utilizzeremo una sottoquery interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Abbiamo creato una nuova tabella utilizzando una sottoquery interna con cui possiamo lavorare e raccogliere informazioni.
Nota
Nota che per una tabella di questo tipo è essenziale fornire un alias.
Quando può essere utile?
Una query di questo tipo è altamente leggibile; a volte può sostituire una clausola WHERE
.
Inoltre, se è necessario lavorare non con l'intera tabella ma solo con una parte filtrata, una sottoquery interna nella sezione FROM
può risultare estremamente utile.
Swipe to start coding
Il tuo compito è recuperare il budget medio (colonna budget
) per tutti i dipartimenti manageriali dalla tabella department
. Utilizza una sottoquery interna nella sezione FROM
per filtrare solo i dipartimenti di tipo manageriale. Usa inoltre l'alias manager_departments
per questa tabella affinché il compito venga verificato correttamente.
La risposta deve avere una sola colonna, average_budget
. Questo è un alias per la funzione aggregata AVG()
.
Nota
Questo esercizio potrebbe essere risolto anche utilizzando una clausola
WHERE
, ma qui si utilizza una query annidata per esercitarsi con questa sintassi, che sarà utile per risolvere problemi più complessi in futuro.
Istruzioni sintetiche
- Recupera il valore medio della colonna
budget
. - Assegna l'alias
average_budget
a questa colonna. - Nella clausola
FROM
, scrivi una query annidata. - Nella query annidata, seleziona tutte le colonne dalla tabella
department
. - Nella query annidata, utilizza la clausola
WHERE
con la condizionetype = 'manager'
. - Assegna l'alias
manager_departments
alla query annidata.
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
Awesome!
Completion rate improved to 4
Utilizzo di Sottoquery Interne nella Sezione FROM
Scorri per mostrare il menu
Una sottoquery interna crea una tabella con cui poi eseguiamo operazioni nella query esterna.
Da ciò possiamo concludere che è possibile utilizzare una sottoquery interna all'interno della sezione FROM
per selezionare qualcosa da questa tabella.
Consideriamo un esempio in cui dobbiamo lavorare con employees
il cui salary
è superiore a un certo valore. Ma invece di una clausola WHERE
, utilizzeremo una sottoquery interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Abbiamo creato una nuova tabella utilizzando una sottoquery interna con cui possiamo lavorare e raccogliere informazioni.
Nota
Nota che per una tabella di questo tipo è essenziale fornire un alias.
Quando può essere utile?
Una query di questo tipo è altamente leggibile; a volte può sostituire una clausola WHERE
.
Inoltre, se è necessario lavorare non con l'intera tabella ma solo con una parte filtrata, una sottoquery interna nella sezione FROM
può risultare estremamente utile.
Swipe to start coding
Il tuo compito è recuperare il budget medio (colonna budget
) per tutti i dipartimenti manageriali dalla tabella department
. Utilizza una sottoquery interna nella sezione FROM
per filtrare solo i dipartimenti di tipo manageriale. Usa inoltre l'alias manager_departments
per questa tabella affinché il compito venga verificato correttamente.
La risposta deve avere una sola colonna, average_budget
. Questo è un alias per la funzione aggregata AVG()
.
Nota
Questo esercizio potrebbe essere risolto anche utilizzando una clausola
WHERE
, ma qui si utilizza una query annidata per esercitarsi con questa sintassi, che sarà utile per risolvere problemi più complessi in futuro.
Istruzioni sintetiche
- Recupera il valore medio della colonna
budget
. - Assegna l'alias
average_budget
a questa colonna. - Nella clausola
FROM
, scrivi una query annidata. - Nella query annidata, seleziona tutte le colonne dalla tabella
department
. - Nella query annidata, utilizza la clausola
WHERE
con la condizionetype = 'manager'
. - Assegna l'alias
manager_departments
alla query annidata.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 4single