Utilizzo delle Sottoquery Interne nella Sezione FROM
Una sottoquery interna crea una tabella con la quale poi eseguiamo operazioni nella query esterna.
Da questo, possiamo concludere che possiamo anche usare una query interna nella 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, useremo una query interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Abbiamo creato una nuova tabella usando una sottoquery interna con la quale possiamo lavorare e raccogliere informazioni.
Nota
Nota che per una tale tabella, è essenziale fornire un alias.
Quando potrebbe essere utile?
Una tale query è altamente leggibile; a volte, può sostituire una clausola WHERE.
Inoltre, se hai bisogno di lavorare non con l'intera tabella ma solo con una parte filtrata, una sottoquery interna nella sezione FROM può essere estremamente utile.
Swipe to start coding
Il tuo compito è recuperare il budget medio (colonna budget) per tutti i dipartimenti manageriali dalla tabella department. Usa una sottoquery interna nella sezione FROM per filtrare solo il tipo di dipartimento manageriale. Inoltre, usa l'alias manager_departments per questa tabella in modo che il compito sia verificato correttamente.
La risposta dovrebbe avere solo una colonna, average_budget. Questo è un alias per la funzione aggregata AVG().
Nota
Questo compito potrebbe essere fatto anche usando una clausola
WHERE, ma usiamo una query annidata qui per praticare questa sintassi, che sarà utile per risolvere problemi più complessi in futuro.
Istruzioni Brevi
- Recupera il valore medio della colonna
budget. - Assegna l'alias
average_budgeta quella colonna. - Nella clausola
FROM, devi scrivere una query annidata. - Nella query annidata, seleziona tutte le colonne dalla tabella
department. - Nella query annidata, usa la clausola
WHEREcon la condizionetype = 'manager'. - Assegna l'alias
manager_departmentsalla 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
Can you explain why we need to use an alias for the inner subquery?
When should I use an inner subquery in the FROM clause instead of a WHERE clause?
Can you give more examples of using inner subqueries in SQL?
Awesome!
Completion rate improved to 4
Utilizzo delle Sottoquery Interne nella Sezione FROM
Scorri per mostrare il menu
Una sottoquery interna crea una tabella con la quale poi eseguiamo operazioni nella query esterna.
Da questo, possiamo concludere che possiamo anche usare una query interna nella 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, useremo una query interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Abbiamo creato una nuova tabella usando una sottoquery interna con la quale possiamo lavorare e raccogliere informazioni.
Nota
Nota che per una tale tabella, è essenziale fornire un alias.
Quando potrebbe essere utile?
Una tale query è altamente leggibile; a volte, può sostituire una clausola WHERE.
Inoltre, se hai bisogno di lavorare non con l'intera tabella ma solo con una parte filtrata, una sottoquery interna nella sezione FROM può essere estremamente utile.
Swipe to start coding
Il tuo compito è recuperare il budget medio (colonna budget) per tutti i dipartimenti manageriali dalla tabella department. Usa una sottoquery interna nella sezione FROM per filtrare solo il tipo di dipartimento manageriale. Inoltre, usa l'alias manager_departments per questa tabella in modo che il compito sia verificato correttamente.
La risposta dovrebbe avere solo una colonna, average_budget. Questo è un alias per la funzione aggregata AVG().
Nota
Questo compito potrebbe essere fatto anche usando una clausola
WHERE, ma usiamo una query annidata qui per praticare questa sintassi, che sarà utile per risolvere problemi più complessi in futuro.
Istruzioni Brevi
- Recupera il valore medio della colonna
budget. - Assegna l'alias
average_budgeta quella colonna. - Nella clausola
FROM, devi scrivere una query annidata. - Nella query annidata, seleziona tutte le colonne dalla tabella
department. - Nella query annidata, usa la clausola
WHEREcon la condizionetype = 'manager'. - Assegna l'alias
manager_departmentsalla query annidata.
Soluzione
Grazie per i tuoi commenti!
single