Daten in Snowflake abfragen¶
Snowflake unterstützt Standard-SQL, einschließlich einer Teilmenge von ANSI SQL:1999 und den analytischen Erweiterungen von SQL:2003. Snowflake unterstützt bei zahlreichen Befehlen auch gängige Variationen, solange diese Variationen nicht miteinander in Konflikt stehen.
Tipp
Sie können den Suchoptimierungsdienst verwenden, um die Leistung von Abfragen zu verbessern. Weitere Details dazu finden Sie unter Suchoptimierungsdienst.
- Verwenden von Verknüpfungen (Joins)
Bei einer Verknüpfung werden Zeilen aus zwei Tabellen kombiniert, um eine neue kombinierte Zeile zu erstellen, die in der Abfrage verwendet werden kann.
Erfahren Sie mehr zu Join-Konzepten, zu den verschiedenen Typen von Joins und zur Verwendung von Joins.
- Verknüpfen von Zeitreihendaten
Ein ASOF JOIN wird normalerweise verwendet, um Tabellen zu verbinden, die Zeitreihendaten enthalten.
Erfahren Sie, wie Sie Tabellen über Zeitstempelspalten verknüpfen können, wenn ihre Werte eng aufeinander folgen, einander vorausgehen oder genau übereinstimmen.
- Redundante Join-Verknüpfungen beseitigen
Eine Join-Verknüpfung über eine Schlüsselspalte kann auf Tabellen verweisen, die für den Join nicht benötigt werden. Ein solcher Join wird als redundanter Join bezeichnet.
Erfahren Sie mehr über redundante Joins und wie Sie diese beseitigen können, um die Abfrageleistung zu verbessern.
- Verwenden von Unterabfragen
Eine Unterabfrage ist eine Abfrage in einer anderen Abfrage.
Erfahren Sie mehr über Unterabfragen und deren Verwendung.
- Abfragen hierarchischer Daten
Relationale Datenbanken speichern hierarchische Daten häufig mithilfe verschiedener Tabellen.
Erfahren Sie mehr über das Abfragen hierarchischer Daten mithilfe von Joins, allgemeinen Tabellenausdrücken (Common Table Expressions, CTEs) und CONNECT BY.
- Arbeiten mit CTEs (allgemeinen Tabellenausdrücken)
Ein CTE (Common Table Expression, allgemeiner Tabellenausdruck) ist eine benannte Unterabfrage, die in einer WITH-Klausel definiert wird und deren Ergebnis eine Tabelle ist.
Erfahren Sie mehr über das Schreiben von CTE-Ausdrücken und deren Verwendung.
- Abfragen von semistrukturierten Daten
Semistrukturierte Daten repräsentieren beliebige hierarchische Datenstrukturen, die zum Laden und Bearbeiten von Daten in semistrukturierten Formaten (z. B. JSON, Avro, ORC, Parquet oder XML) verwendet werden können.
Erfahren Sie, wie spezielle Operatoren und Funktionen zur Abfrage komplexer hierarchischer Daten verwendet werden, die in einem VARIANT-Wert gespeichert sind.
- Verwenden der Fensterfunktionen
Fensterfunktionen werden auf Fenster angewendet, bei denen es sich um Gruppen von Zeilen handelt, die auf bestimmte Weise in Beziehung zueinander stehen.
Erfahren Sie mehr über Fenster, Fensterfunktionen und die Verwendung von Fensterfunktionen zur Untersuchung von Daten.
- Identifizieren von Sequenzen von Zeilen, die einem Muster entsprechen
In einigen Fällen müssen Sie möglicherweise Sequenzen von Tabellenzeilen identifizieren, die mit einem Muster übereinstimmen.
Erfahren Sie mehr über die Mustererkennung und die Verwendung von MATCH_RECOGNIZE auf Tabellenzeilen, die mit bestimmten Mustern übereinstimmen.
- Verwenden von Sequenzen
Sequenzen werden verwendet, um eindeutige Nummern über Sitzungen und Anweisungen, einschließlich gleichzeitiger Anweisungen, hinweg zu generieren.
Erfahren Sie mehr über Sequenzen und deren Verwendung.
- Verwenden von persistent gespeicherten Abfrageergebnissen
Wenn eine Abfrage ausgeführt wird, wird das Ergebnis für einen bestimmten Zeitraum persistiert.
Erfahren Sie, wie Abfrageergebnisse persistiert werden, wie lange persistierte Ergebnisse verfügbar sind und wie Sie persistierte Abfrageergebnisse zur Verbesserung der Performance nutzen können.
- Berechnen der Anzahl diskreter Werte
Es gibt verschiedene Methoden, um die Anzahl eindeutiger (diskreter) Elemente innerhalb einer Spalte zu bestimmen.
Erfahren Sie mehr über Methoden zum Identifizieren und Berichten diskreter Elemente in Daten.
- Schätzung der Ähnlichkeit von zwei oder mehr Sets
Snowflake bietet Mechanismen zum Vergleichen von Datasets auf Ähnlichkeit.
Erfahren Sie, wie Snowflake die Ähnlichkeit bestimmt und wie Sie mehrere Datasets auf Ähnlichkeit untersuchen können.
- Schätzen häufiger Werte
Snowflake kann Daten untersuchen, um festzustellen, mit welcher Häufigkeit Werte in Daten vorkommen.
Lernen Sie, wie die Häufigkeit bestimmt wird und wie Sie Daten abfragen können, um die Datenhäufigkeit mit Hilfe der APPROX_TOP_K-Funktionsfamilie zu bestimmen.
- Schätzen von Perzentilwerten
Snowflake kann mithilfe einer verbesserten Version des t-Digest-Algorithmus den prozentualen Anteil von Werten schätzen.
Erfahren Sie mehr darüber, wie Sie Prozentsätze mithilfe der APPROX_PERCENTILE-Funktionsfamilie schätzen können.
- Analysieren von Abfragen mithilfe von Query Profile
Query Profiles (Abfrageprofile) stellen Details zur Ausführung von Abfragen bereit.
Erfahren Sie, wie Sie Abfragen mithilfe von Query Profiles untersuchen, um die Verarbeitungsleistung zu verstehen und zu verbessern.
- Verwenden des Abfrage-Hash zum Identifizieren von Mustern und Trends in Abfragen
Um Muster und Trends in Abfragen zu identifizieren, können Sie den Hash des Abfragetextes verwenden, der in den Spalten
query_hash
undquery_parameterized_hash
ausgewählter Account Usage-Ansichten sowie in der Ausgabe ausgewählter Information Schema-Tabellenfunktionen enthalten ist.Erfahren Sie, wie Sie den in diesen Spalten enthaltenen Abfrage-Hash verwenden, um wiederholte Abfragen zu identifizieren und Muster und Trends in Abfragen zu ermitteln.
- Abbrechen von Anweisungen
In Ausführung befindliche Anweisungen werden in der Regel über die Schnittstelle abgebrochen, die zum Starten der Abfrage verwendet wurde.
Erfahren Sie, wie Sie mit Systemfunktionen eine bestimmte Abfrage oder alle derzeit ausgeführten Abfragen abbrechen können.