Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Unterschied zwischen CTE und SubQuery?

In der Unterabfrage vs einfach (nicht-rekursive) CTE-Versionen, sie sind sich wahrscheinlich sehr ähnlich. Sie müssten den Profiler und den tatsächlichen Ausführungsplan verwenden, um Unterschiede zu erkennen, und das wäre spezifisch für Ihr Setup (daher können wir Ihnen die Antwort nicht vollständig geben).

Im Allgemeinen; Ein CTE kann rekursiv verwendet werden; eine Unterabfrage kann dies nicht. Dadurch eignen sie sich besonders gut für Baumstrukturen.