11. diel - MS-SQL krok za krokom: Poddotazy
V predchádzajúcom cvičení, Riešené úlohy k 8.-10. lekcii MS-SQL, sme si precvičili získané skúsenosti z predchádzajúcich lekcií.
Dnešný MS-SQL tutoriál je venovaný tzv. poddotazom, ktorými zavŕšime základné znalosti jazyka T-SQL.
Poddotazy
Poddotazom sa myslí dotaz, ktorý je súčasťou nejakého ďalšieho dotazu. Správne, dotazy môžeme vkladať do seba. Výstup nejakého dotazu teda môžeme použiť ako vstup pre ďalší dotaz, pretože ide v zásade tiež o tabuľku s dátami. V praxi sa toto často používa a máme tak možnosť dosiahnuť na strane databázy výsledky, ktoré by sme inak museli pomalšie zostavovať až na strane aplikácie.
Výkonovo sú poddotazy samozrejme náročné, ale ak sú správne optimalizované (pozri ďalšiu lekciu), mali by byť rýchlejšie než použitie viacerých samostatných dotazov alebo niekedy aj JOINov.
Skúste sa zamyslieť nad tým, ako by ste vypísali články používateľa s prezývkou "Ján". Asi by ste vymysleli nasledujúci dotaz:
SELECT [C].[Titulok] FROM [Clanky] AS [C] INNER JOIN [Pouzivatelia] AS [P] ON [P].[Id] = [C].[AutorId] WHERE [P].[Prezyvka] = 'Ján';
Výsledok:
| Titulok |
|---|
| Baktérie |
| Pacman |
Rovnaký výsledok však môžeme dosiahnuť aj pomocou poddotazu:
...koniec náhľadu článku...
Pokračuj ďalej
Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
1 325 kreditov
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Prístup k jednotlivým lekciám podľa spôsobu obstarania.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriále si ukážeme poddotazy, teda vnorené dotazy v MS-SQL databáze. Vysvetlíme si nových operátorov IN, ALL, ANY a EXISTS.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.