SQL · Experte
Bedingte Aggregation verwendet CASE-Anweisungen innerhalb von Aggregatfunktionen, um Daten von Zeilen in Spalten umzuwandeln (Pivoting). Diese Technik ist hocheffizient für die Erstellung von Beric…
Queries & JoinsBest Practices
Snippet öffnen →SQL · Experte
Rekursive CTEs werden verwendet, um hierarchische Datenstrukturen wie Organigramme oder Stücklisten zu durchlaufen. Sie bestehen aus einem Anker-Element und einem rekursiven Element, die durch UNIO…
SyntaxQueries & Joins
Snippet öffnen →SQL · Experte
Isolationsstufen definieren, wie die Integrität von Transaktionen für andere Benutzer und Systeme sichtbar ist. SERIALIZABLE ist die höchste Stufe und verhindert Dirty Reads, Non-Repeatable Reads u…
TransaktionenSecurity
Snippet öffnen →SQL · Experte
Fensterfunktionen führen Berechnungen über eine Menge von Tabellenzeilen durch, die mit der aktuellen Zeile in Beziehung stehen. Im Gegensatz zu Aggregatfunktionen gruppieren sie Zeilen nicht in ei…
SyntaxFunktionen
Snippet öffnen →SQL · Experte
Eine korrelierte Unterabfrage bezieht sich auf Spalten der äußeren Abfrage. Dieses Beispiel identifiziert Mitarbeiter, die mehr als das Durchschnittsgehalt in ihrer jeweiligen Abteilung verdienen,…
Queries & JoinsPerformance
Snippet öffnen →SQL · Experte
Die relationale Division wird verwendet, um Entitäten zu identifizieren, die mit jedem Datensatz einer Zielmenge verknüpft sind. Da SQL keinen nativen 'DIVIDE'-Operator besitzt, nutzen wir die dopp…
Queries & JoinsPerformance
Snippet öffnen →SQL · Experte
Die Identifizierung überlappender Intervalle ist eine häufige Experten-Herausforderung. Die Logik (StartA < EndeB AND StartB < EndeA) ist der mathematisch optimale Weg, um jede Schnittmenge zwische…
Queries & JoinsBest Practices
Snippet öffnen →SQL · Experte
Die Klausel WITH CHECK OPTION in einer View verhindert, dass Benutzer Zeilen einfügen oder aktualisieren, die durch die View selbst nicht mehr sichtbar wären. Dies erzwingt Geschäftslogik auf Schem…
SecuritySyntax
Snippet öffnen →SQL · Experte
SARGable (Search ARGumentable) Abfragen ermöglichen es der Engine, Index-Seeks anstelle von vollständigen Scans durchzuführen. Indem die Spalte direkt mit einem Bereich verglichen wird, statt sie i…
PerformanceBest Practices
Snippet öffnen →SQL · Experte
Beim Entwurf von Verbundindizes schreibt die 'Left-Prefix'-Regel vor, dass der Index nur verwendet werden kann, wenn die führende Spalte in der WHERE-Klausel vorhanden ist. Die Platzierung der sele…
Indizes & ConstraintsPerformance
Snippet öffnen →SQL · Experte
Rekursive Common Table Expressions (CTEs) ermöglichen das Abfragen hierarchischer Datenstrukturen, wie Organigramme oder Stücklisten, indem eine Tabelle iterativ mit sich selbst verknüpft wird, bis…
SyntaxQueries & Joins
Snippet öffnen →SQL · Experte
Fensterfunktionen mit spezifischen Rahmenklauseln wie 'ROWS BETWEEN' ermöglichen eine präzise Kontrolle über die Teilmenge der Daten, die für Berechnungen verwendet werden, was komplexe Analysen wi…
FunktionenQueries & JoinsPerformance
Snippet öffnen →SQL · Experte
Der EXCEPT-Operator gibt eindeutige Zeilen aus der ersten Abfrage zurück, die in der zweiten nicht vorhanden sind. Dies ist essenziell für die Delta-Erkennung, die Validierung von Datenmigrationen…
Queries & JoinsBest Practices
Snippet öffnen →SQL · Experte
Eine korrelierte Unterabfrage bezieht sich auf Spalten der äußeren Abfrage. Die Verwendung von NOT EXISTS mit einer korrelierten Unterabfrage ist eine performante Methode zur Implementierung von An…
Queries & JoinsPerformance
Snippet öffnen →SQL · Experte
Bedingte Aggregation verwendet CASE-Anweisungen innerhalb von Aggregatfunktionen, um Daten zu pivotieren oder Multi-Kategorie-Zählungen in einem einzigen Durchlauf durchzuführen, was die Performanc…
SyntaxQueries & JoinsPerformance
Snippet öffnen →SQL · Experte
Experten-Performance-Tuning erfordert 'Search Argumentable' (SARGable) Abfragen. Anstatt Funktionen wie YEAR(order_date) zu verwenden, die die Indexnutzung verhindern, nutzen wir einen Bereichsverg…
PerformanceIndizes & ConstraintsQueries & Joins
Snippet öffnen →SQL · Experte
Das ALL-Prädikat ist eine fortgeschrittene SQL-Funktion, mit der ein Wert gegen jeden von einer Unterabfrage zurückgegebenen Wert verglichen wird. In diesem Fall werden Produkte abgerufen, die teur…
Queries & JoinsSyntaxFunktionen
Snippet öffnen →SQL · Experte
Experten-SQL-Entwickler nutzen das INFORMATION_SCHEMA, um datenbankunabhängige Skripte für Audits oder dynamische Abfragegenerierung zu schreiben. Dieser Ausschnitt fragt die standardkonformen Meta…
Queries & JoinsSyntaxBest Practices
Snippet öffnen →SQL · Experte
Verwendung von INTERSECT, um Zeilen zu finden, die mehrere unabhängige Bedingungen über verschiedene Zeilen derselben Tabelle hinweg erfüllen. Dies ist oft performanter als mehrfache Self-Joins bei…
Queries & JoinsPerformanceSyntax
Snippet öffnen →SQL · Experte
Grouping Sets ermöglichen es einer einzelnen Abfrage, mehrere Gruppierungen zu definieren, was effektiv einem UNION ALL verschiedener GROUP BY-Klauseln entspricht. Dies ist hocheffizient für analyt…
Queries & JoinsSyntaxPerformance
Snippet öffnen →SQL · Experte
Fensterfunktionen für das Ranking ermöglichen eine anspruchsvolle Sortierlogik. Während RANK() Nummern überspringt, wenn Gleichstände auftreten, stellt DENSE_RANK() eine kontinuierliche Sequenz sic…
FunktionenQueries & Joins
Snippet öffnen →SQL · Experte
Aufschiebbare Constraints ermöglichen es, Integritätsprüfungen bis zum Commit der Transaktion zu verschieben. Dies ist essenziell für zirkuläre Referenzen oder komplexe Migrationen, bei denen die K…
TransaktionenBest PracticesPerformance
Snippet öffnen →SQL · Experte
Savepoints bieten eine Kontrolle über Untertransaktionen. Sie ermöglichen es Entwicklern, Punkte innerhalb einer Transaktion zu markieren, zu denen sie selektiv zurückkehren können, um die vor dem…
TransaktionenSecurityBest Practices
Snippet öffnen →SQL · Experte
Die WITH CHECK OPTION stellt sicher, dass alle über die View durchgeführten INSERT- oder UPDATE-Operationen die WHERE-Klausel der View erfüllen müssen. CASCADED weitet diese Prüfung auf alle zugrun…
SecurityQueries & Joins
Snippet öffnen →SQL · Experte
Ein DOMAIN ist ein globales Schema-Objekt, das es ermöglicht, einen Datentyp mit lokalisierten Constraints zu definieren. Im Gegensatz zu einfachen Spalten-Checks fördern Domains die Wiederverwendb…
DatentypenBest Practices
Snippet öffnen →SQL · Experte
Im Standard-SQL führen NULL-Vergleiche zu UNKNOWN. Das Prädikat IS NOT DISTINCT FROM behandelt NULL als vergleichbaren Wert und gibt TRUE zurück, wenn beide Operanden NULL sind oder beide gleiche N…
SyntaxQueries & Joins
Snippet öffnen →SQL · Experte
Row Value Constructors (Tupel) ermöglichen den gleichzeitigen Vergleich mehrerer Werte. Dies ist prägnanter als die Verwendung mehrerer AND/OR-Bedingungen und erlaubt es der Engine, die mehrspaltig…
SyntaxQueries & Joins
Snippet öffnen →SQL · Experte
Rekursive Common Table Expressions (CTEs) ermöglichen es SQL, hierarchische Datenstrukturen wie Organigramme oder Dateisysteme abzufragen. Das 'Anchor-Member' definiert den Startpunkt (z.B. den CEO…
Queries & JoinsSyntax
Snippet öffnen →SQL · Experte
Window-Frames verfeinern Fensterfunktionen, indem sie eine spezifische Teilmenge von Zeilen relativ zur aktuellen Zeile definieren. Die Verwendung von 'ROWS BETWEEN' ermöglicht die Berechnung von g…
FunktionenQueries & Joins
Snippet öffnen →SQL · Experte
Das Schlüsselwort LATERAL (Teil von ANSI SQL) ermöglicht es einer Unterabfrage in der FROM-Klausel, auf Spalten vorangehender Tabellen in derselben FROM-Klausel zu verweisen. Dies ist äußerst nützl…
SyntaxQueries & Joins
Snippet öffnen →