logo

SQL | Apakšvaicājumi sadaļā No klauzula

SQL apakšvaicājumi ir vērtīgas funkcijas, kas ļauj mums iegult vienu vaicājumu citā, piešķirot lielāku nozīmi datu izgūšanai un manipulēšanai ar tiem sarežģītā veidā. To izmanto, lai iestatītu pagaidu tabulas vai starprezultātus, kas vēlāk tiks izmantoti ārējam vaicājumam.

Apakšvaicājums klauzulā FROM

FROM klauzulu var izmantot, lai norādītu apakšvaicājuma izteiksmi SQL. Apakšvaicājuma radītā relācija pēc tam tiek izmantota kā jauna relācija, kurai turpmākajām darbībām tiek lietots ārējais vaicājums. Apakšvaicājumi sadaļāFROMklauzula tiek izmantota, ja mums ir jāizveido pagaidu datu kopa, kas neeksistē nevienā fiziskā tabulā. Tas var būt ļoti noderīgi, strādājot ar sarežģītām datu kopām.

abs c kods

Korelācijas mainīgos no tabulām, uz kurām ir atsauce ārējā vaicājuma klauzulā FROM, nevar izmantot tieši FROM klauzulas apakšvaicājumos. Tālāk ir norādītas divas apakšvaicājuma izmantošanas sintakses klauzulā FROM, ko izmanto dažādos scenārijos.



1. Vienkāršs apakšvaicājumsFROMKlauzula:

ATLASĪT kolonnu 1 kolonnu 2

FROM (SELECT kolonna_x AS C1 kolonna_y FROM tabulas WHERE nosacījums) AS apakšvaicājuma_tabula

java valodas interviju jautājumi

WHERE ārējais_nosacījums;

2. Apakšvaicājums sadaļāFROMKlauzula arJOIN:

ATLASĪT kolonnu 1 kolonnu 2

FROM (SELECT column_x AS C1 column_y FROM table WHERE PREDICATE_X) AS table2

JOIN table1 ON table2.some_column = tabula1.some_column

java listnode

KUR PREDIKĀTS;

Parametri:

  • Apakšvaicājums : iekšējais vaicājums iekavās. Tas izgūst datus, kas darbosies kā pagaidu tabula.
  • Alias : Apakšvaicājumam ir jāpiešķir aizstājvārds (subquery_table), uz kuru jāatsaucas ārējā vaicājumā.
  • Ārējais vaicājums : ārējais vaicājums pēc tam var darboties ar šo pagaidu tabulu, kas izveidota, apakšvaicājumā piemērojot filtrus vai veicot papildu darbības.

Kā darbojas apakšvaicājumi klauzulā FROM

  • Apakšvaicājuma novērtējums : Vispirms tiek novērtēts apakšvaicājums no klauzulā, un pēc tam novērtēšanas rezultāti tiek saglabāti jaunā pagaidu attiecībā. 
  • Ārējais vaicājums : pēc tam, kad apakšvaicājums ir izpildīts un atgriež datu kopu, tiek novērtēts ārējais vaicājums, atlasot tikai tos korešus no pagaidu relācijas, kas apmierina predikātu ārējā vaicājuma kur klauzulā.

Apakšvaicājuma izmantošanas piemērs klauzulā FROM

Apspriedīsim dažus reālās pasaules piemērus, lai saprastu, kā apakšvaicājumi klauzulā FROM darbojas praksē. Šeit mums ir divas tabulas Instruktors tabula, kurā ir informācija par pasniedzējiem, tostarp viņu alga un nodaļa. Otra ir nodaļa tabula, kurā ir informācija par dažādām nodaļām, ieskaitot nodaļas budžetu.

Instruktors Tabula 

Instruktora IDVārdsnodaļaAlga
44547SmitsDatorzinātne95 000
44541BilsElektriskās55 000
47778VienatnēHumanitārās zinātnes44 000
48147ĒriksMehāniski80 000
411547BalzamsInformācijas tehnoloģijas65 000
48898JēnaCivilā50 000

nodaļa Tabula

Nodaļas nosaukumsBudžets
Datorzinātne100 000
Elektriskās80 000
Humanitārās zinātnes50 000
Mehāniski40 000
Informācijas tehnoloģijas90 000
Civilā60 000

1. piemērs: Atrodiet visus profesorus, kuru alga ir lielāka par visu katedru vidējo budžetu. 

Šajā piemērā mēs izmantosim apakšvaicājumu no FROM, lai aprēķinātu visu nodaļu vidējo budžetu un pēc tam veiktu salīdzinājumu ar instruktoru algām.

Vaicājums:   

SELECT I.InstructorID I.Name I.Department I.Salary  
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;

Izvade  

Instruktora IDVārdsnodaļaAlga
44547SmitsDatorzinātne95 000
48147ĒriksMehāniski80 000

Paskaidrojums:

Huffman kodēšanas kods
  • Visu nodaļu vidējais budžets no departamenta attiecības ir 70 000.
  • Ēriks un Smits ir vienīgie instruktori instruktoru attiecībās, kuru alga ir lielāka par 70 000, un tāpēc viņi ir klātesoši attiecībā uz rezultātu. 

Kāpēc izmantot apakšvaicājumus klauzulā FROM?

Apakšvaicājumu izmantošanai klauzulā FROM ir dažādas priekšrocības, kā norādīts tālāk:

  • Vienkāršošana : tie var vienkāršot sarežģītus vaicājumus, sadalot tos mazākās, vieglāk pārvaldāmās daļās. Jums datu bāzē nav īpaši jāizveido pagaidu tabulas.
  • Uzlabota lasāmība : apakšvaicājumu izmantošana klauzulā FROM padara vaicājumu lasāmāku jo tas sadalās > Elastība : apakšvaicājumi ļauj veikt darbības, kas pretējā gadījumā būtu neērtas, piemēram, apkopošana vai filtrēšana, ņemot vērā citas datu kopas, bez nepieciešamības izveidot starptabulas.

Secinājums

Apakšvaicājumi klauzulā FROM ļauj mums definēt  pagaidu rezultātu kopas ko var izmantot ārējie vaicājumi. Tie atvieglo sarežģītas SQL darbības, uzlabo vaicājumu lasāmību un nodrošina elastību datu filtrēšanā un apkopošanā. Zināšanas, kā izmantot apakšvaicājumus klauzulas FROM ietvaros, ir pamatprasme ikvienam SQL praktizējošam lietotājam, jo ​​īpaši, strādājot ar sarežģītām datu bāzēm vai ja jums ir jāveic sarežģīta datu analīze.

Izveidojiet viktorīnu