Principy poddotazů

Dokončeno

Poddotaz je příkaz SELECT vnořený do jiného dotazu. Schopnost vnořit jeden dotaz do jiného zlepší schopnost vytvářet efektivní dotazy v T-SQL. Obecně platí, že poddotazy se vyhodnocují jednou a poskytují jejich výsledky vnějšímu dotazu.

Práce s poddotazy

Poddotaz je příkaz SELECT vnořený nebo vložený v jiném dotazu. Vnořený dotaz, což je poddotaz, se označuje jako vnitřní dotaz. Dotaz obsahující vnořený dotaz je vnější dotaz.

Účelem poddotazu je vrátit výsledky do vnějšího dotazu. Forma výsledků určí, jestli je poddotaz skalární nebo poddotaz s více hodnotami:

  • Skalární poddotazy vrací jednu hodnotu. Vnější dotazy musí zpracovat jeden výsledek.
  • Poddotazy s více hodnotami vrací výsledek podobně jako tabulka s jedním sloupcem. Vnější dotazy musí být schopné zpracovat více hodnot.

Kromě výběru mezi skalárními a vícehodnotovými poddotazy můžou být poddotazy buď samostatné, nebo mohou být korelovány s vnějším dotazem:

  • Samostatné poddotazy lze zapsat jako samostatné dotazy bez závislostí na vnějším dotazu. Samostatný poddotaz se zpracuje jednou, když se vnější dotaz spustí a předá jeho výsledky do vnějšího dotazu.
  • Korelované poddotazy odkazují na jeden nebo více sloupců z vnějšího dotazu, a proto na něm závisejí. Korelované poddotazy nelze spustit odděleně od vnějšího dotazu.