wann benutzt man unterabfragen/ sub queries sql?
Muss sub queries in bestimmten Situationen verwenden oder kann man auch nur stattdessen Joins benutzen. Ich verstehe nicht ganz wann man diese Unterabfragen benutzt.
1 Antwort
Es gibt einige Anwendungsfälle, wo Subqueries notwendig sind. Eines der simplen Beispiele ist, wenn man das Ergebnis eines group by joinen will.
In vielen anderen Fällen sind sie dagegen einfach nur stilistisch besser.
Da gibt es viele Beispiele, die ohne Subquery nicht gehen. Hatte ich hier letztens: LEFT JOIN mit der gefilterten Teilmenge einer anderen Tabelle. wo ich im Ergebnis die Zeilen der ersten Tabelle haben wollte, die den Wert in der gefilterten Teilmenge der 2. Tabelle NICHT enthalten. Also
SELECT a.id FROM Tab1 a LEFT JOIN (SELECT b.id_a FROM Tab2 b WHERE b.uid=5) c ON a.id=c.id_a WHERE c.id_a IS NULL
Zumindest ist mir nichts ohne Subquery eingefallen.