logo

SQL | Podupiti u klauzuli From

SQL Podupiti su vrijedne značajke koje nam omogućuju ugrađivanje jednog upita unutar drugog dodajući veću važnost dohvaćanju i manipulaciji podacima na kompliciran način. Koristi se za postavljanje privremenih tablica ili međurezultata kako bi se naknadno upotrebljava od vanjskog upita.

Podupit u klauzuli FROM

Odredba FROM može se koristiti za određivanje izraza podupita u SQL-u. Relacija proizvedena podupitom zatim se koristi kao nova relacija na koju se vanjski upit primjenjuje za daljnje operacije. Podupiti uFROMklauzula se koristi kada trebamo stvoriti privremeni skup podataka koji ne postoji ni u jednoj fizičkoj tablici. To može biti od velike pomoći pri radu sa složenim skupovima podataka.

što je awt

Korelacijske varijable iz tablica navedenih u klauzuli FROM vanjskog upita ne mogu se koristiti izravno unutar podupita u klauzuli FROM. U nastavku su dane dvije sintakse korištenja podupita u klauzuli FROM koja se koristi u različitim scenarijima.



1. Jednostavan podupit uFROMKlauzula:

SELECT stupac1 stupac2

FROM (SELECT stupac_x AS C1 stupac_y FROM tablica WHERE uvjet) AS podupit_tablica

WHERE vanjski_uvjet;

2. Podupit uFROMKlauzula saJOIN:

SELECT stupac1 stupac2

što je prolog

FROM (SELECT stupac_x AS C1 stupac_y FROM tablica WHERE PREDICATE_X) AS tablica2

JOIN table1 ON table2.some_column = table1.some_column

WHERE PREDIKAT;

Parametri:

  • Podupit : Unutarnji upit u zagradama. Dohvaća podatke koji će djelovati kao privremena tablica.
  • Alias : podupitu mora biti dodijeljen alias (subquery_table) na koje se upućuje u vanjskom upitu.
  • Vanjski upit : Vanjski upit tada može raditi s ovom privremenom tablicom koju je stvorio podupit primjenom filtara ili izvođenjem daljnjih operacija.

Kako rade podupiti u klauzuli FROM

  • Procjena podupita : Prvo se procjenjuje podupit u klauzuli from, a zatim se rezultati procjene pohranjuju u novu privremenu relaciju. 
  • Vanjski upit : Nakon što podupit izvrši i vrati skup podataka, vanjski upit se procjenjuje odabirom samo onih torki iz privremene relacije koje zadovoljavaju predikat u klauzuli where vanjskog upita.

Primjer korištenja podupita u FROM klauzuli

Raspravljajmo o nekim primjerima iz stvarnog svijeta da bismo razumjeli kako podupiti u FROM klauzuli funkcioniraju u praksi. Ovdje imamo dvije tablice Instruktor tablica koja sadrži podatke o instruktorima uključujući njihovu plaću i odjel. Drugi je Odjel tablica koja sadrži informacije o različitim odjelima uključujući proračun odjela.

java lista u polje

Instruktor Stol 

ID instruktoraImeOdjelPlaća
44547Smithinformatika95000
44541RačunElektrični55000
47778SamHumanističke znanosti44000
48147ErikMehanički80000
411547BalzamInformacijska tehnologija65000
48898JenaGrađanski50000

Odjel Stol

Naziv odjelaProračun
informatika100 000
Električni80000
Humanističke znanosti50000
Mehanički40000
Informacijska tehnologija90000
Građanski60000

Primjer 1: Pronađite sve profesore čija je plaća veća od prosječnog proračuna svih odjela. 

U ovom primjeru koristit ćemo podupit u klauzuli FROM kako bismo izračunali prosječni proračun svih odjela, a zatim izvršili usporedbu s plaćama instruktora.

Upit:   

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;

Izlaz  

ID instruktoraImeOdjelPlaća
44547Smithinformatika95000
48147ErikMehanički80000

Obrazloženje:

c# poduka
  • Prosječni proračun svih odjela s relacije odjela je 70000.
  • Erik i Smith su jedini instruktori na instruktorskoj relaciji čija je plaća veća od 70000 i stoga su prisutni na output relaciji. 

Zašto koristiti podupit u klauzuli FROM?

Postoje razne prednosti korištenja podupita u klauzuli FROM kao što je navedeno u nastavku:

  • Pojednostavljenje : Mogu pojednostaviti složene upite razlažući ih na manje dijelove kojima je lakše rukovati. Ne morate izričito stvarati privremene tablice u svojoj bazi podataka.
  • Poboljšana čitljivost : Korištenje podupita u klauzuli FROM čini upit čitljivijim budući da dijeli > Fleksibilnost : Podupiti vam omogućuju izvođenje operacija koje bi inače bile nezgodne poput združivanja ili filtriranja u s obzirom na druge skupove podataka bez potrebe za izradom sredutablica.

Zaključak

Podupiti u klauzuli FROM omogućuju nam definiranje  privremeni skupovi rezultata koji mogu biti iskorišteni od strane vanjskih upita. Oni olakšavaju složene SQL operacije poboljšavaju čitljivost upita i omogućuju fleksibilnost u filtriranju i agregaciji podataka. Poznavanje kako koristiti podupite unutar FROM klauzule je osnovna vještina za svakog praktičara SQL-a posebno kada se bavi složenim bazama podataka ili kada morate provesti složenu analizu podataka.

Napravi kviz