logo

SQL | Poddotazy v klauzule From

Poddopyty SQL sú cenné funkcie , ktoré nám umožňujú vložiť jeden dopyt do iného, ​​čím sa zvyšuje dôležitosť načítavania a manipulácie údajov komplikovaným spôsobom. Používa sa na nastavenie dočasných tabuliek alebo medzivýsledkov , ktoré následne používa vonkajší dopyt.

Poddotaz v klauzule FROM

Klauzula FROM sa môže použiť na zadanie výrazu poddotazu v SQL. Vzťah vytvorený poddotazom sa potom použije ako nový vzťah, na ktorý sa použije vonkajší dotaz pre ďalšie operácie. Poddotazy vFROMklauzula sa používa, keď potrebujeme vytvoriť dočasný súbor údajov, ktorý neexistuje v žiadnej fyzickej tabuľke. To môže byť mimoriadne užitočné pri práci s komplexnými súbormi údajov.

ako získať skryté aplikácie

Korelačné premenné z tabuliek, na ktoré sa odkazuje v klauzule FROM vonkajšieho dotazu, nemožno použiť priamo v poddotazoch v klauzule FROM. Nižšie sú uvedené dve syntaxe použitia poddotazu v klauzule FROM používanej v rôznych scenároch.



1. Jednoduchý poddotaz vFROMklauzula:

VYBERTE stĺpec1 stĺpec2

FROM (SELECT column_x AS C1 column_y FROM tabuľka WHERE podmienka) AS subquery_table

WHERE vonkajší_stav;

2. Poddotaz vFROMDoložka sJOIN:

VYBERTE stĺpec1 stĺpec2

FROM (SELECT stĺpec_x AS C1 stĺpec_y FROM tabuľka WHERE PREDICATE_X) AS tabuľka2

polymorfizmus

JOIN table1 ON table2.some_column = table1.some_column

KDE PREDIKÁT;

Parametre:

  • Poddotaz : Vnútorný dotaz v zátvorkách. Získava údaje, ktoré budú fungovať ako dočasná tabuľka.
  • Alias : Poddotaz musí mať priradený alias (subquery_table), na ktorý sa má odkazovať vo vonkajšom dotaze.
  • Vonkajší dopyt : Vonkajší dotaz potom môže pracovať s touto dočasnou tabuľkou vytvorenou poddotazom použitím filtrov alebo vykonaním ďalších operácií.

Ako fungujú poddotazy v klauzule FROM

  • Vyhodnotenie poddotazu : Najprv sa vyhodnotí poddotaz v klauzule from a potom sa výsledky vyhodnotenia uložia do nového dočasného vzťahu. 
  • Vonkajší dopyt : Po vykonaní poddotazu a návrate množiny údajov sa vyhodnotí vonkajší dotaz, pričom sa vyberú iba tie n-tice z dočasného vzťahu, ktoré spĺňajú predikát v klauzule where vonkajšieho dotazu.

Príklad použitia poddotazu v klauzule FROM

Poďme diskutovať o niekoľkých príkladoch z reálneho sveta, aby sme pochopili, ako poddotazy v klauzule FROM fungujú v praxi. Tu máme dve tabuľky Inštruktor tabuľka, ktorá obsahuje informácie o inštruktoroch vrátane ich platu a oddelenia. Iný je oddelenie tabuľku, ktorá obsahuje informácie o rôznych oddeleniach vrátane rozpočtu oddelenia.

Inštruktor Tabuľka 

ID inštruktoraMenooddeleniePlat
44547SmithInformatika95 000
44541BillElektrické55 000
47778SámHumanitné vedy44 000
48147ErikMechanické80 000
411547Balzaminformačné technológie65 000
48898JenaCivilný50 000

oddelenie Tabuľka

Názov oddeleniaRozpočet
Informatika100 000
Elektrické80 000
Humanitné vedy50 000
Mechanické40 000
informačné technológie90 000
Civilný60 000

Príklad 1: Nájdite všetkých profesorov, ktorých plat je vyšší ako priemerný rozpočet všetkých oddelení. 

V tomto príklade použijeme poddotaz v klauzule FROM na výpočet priemerného rozpočtu všetkých oddelení a potom urobíme porovnanie s platmi inštruktorov.

reťazec dĺžky

dotaz:   

veľkosť latexového textu
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;

Výstup  

ID inštruktoraMenooddeleniePlat
44547SmithInformatika95 000
48147ErikMechanické80 000

Vysvetlenie:

  • Priemerný rozpočet všetkých oddelení z rezortného vzťahu je 70000.
  • Erik a Smith sú jediní inštruktori vo vzťahu inštruktor, ktorých plat je viac ako 70 000, a preto sú prítomní vo výstupnom vzťahu. 

Prečo používať poddotazy v klauzule FROM?

Existujú rôzne výhody používania poddotazov v klauzule FROM, ako je uvedené nižšie:

  • Zjednodušenie : Môžu zjednodušiť zložité dotazy tým, že ich rozdelia na menšie, lepšie spravovateľné časti. Dočasné tabuľky nemusíte vytvárať explicitne vo svojej databáze.
  • Vylepšená čitateľnosť : Použitie čiastkových dopytov v klauzule FROM robí dopyt čitateľnejším, keďže rozdeľuje > Flexibilita : Poddotazy vám umožňujú vykonávať operácie , ktoré inak by boli nepohodlné ako agregácie alebo filtrovanie s ohľadom na iné množiny údajov bez potreby vytvárať sprostredkujúce tabuľky.

Záver

Poddotazy v klauzule FROM nám umožňujú definovať  dočasné sady výsledkov ktoré môže používať vonkajšie dopyty. Uľahčujú zložité operácie SQL, zlepšujú čitateľnosť dopytov a poskytujú flexibilitu pri filtrovaní a agregácii údajov. Vedieť, ako využívať poddotazy v rámci klauzuly FROM, je základná zručnosť každého odborníka na SQL, najmä pri narábaní s komplexnými databázami alebo keď musíte vykonávať zložitú analýzu údajov.

Vytvoriť kvíz