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 prologFROM (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 instruktora | Ime | Odjel | Plaća |
|---|---|---|---|
| 44547 | Smith | informatika | 95000 |
| 44541 | Račun | Električni | 55000 |
| 47778 | Sam | Humanističke znanosti | 44000 |
| 48147 | Erik | Mehanički | 80000 |
| 411547 | Balzam | Informacijska tehnologija | 65000 |
| 48898 | Jena | Građanski | 50000 |
Odjel Stol
| Naziv odjela | Proračun |
|---|---|
| informatika | 100 000 |
| Električni | 80000 |
| Humanističke znanosti | 50000 |
| Mehanički | 40000 |
| Informacijska tehnologija | 90000 |
| Građanski | 60000 |
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 instruktora | Ime | Odjel | Plaća |
|---|---|---|---|
| 44547 | Smith | informatika | 95000 |
| 48147 | Erik | Mehanički | 80000 |
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