Erstellen und Ausführen von Abfragen - Amazon Redshift

Erstellen und Ausführen von Abfragen

Sie können eine Abfrage im Editor eingeben oder eine gespeicherte Abfrage aus der Liste Queries (Abfragen) auswählen und auf Run (Ausführen) gehen.

Beim Standardwert von Limit 100 sind die Ergebnisse auf 100 Zeilen begrenzt. Sie können diese Option deaktivieren, damit eine größere Ergebnismenge zurückzugeben wird. Wenn Sie diese Option deaktivieren, können Sie die Option LIMIT in Ihre SQL-Anweisung aufnehmen, wenn Sie sehr große Ergebnismengen vermeiden möchten. Weitere Informationen finden Sie unter ORDER BY-Klausel im Datenbankentwicklerhandbuch zu Amazon Redshift.

Um einen Abfrageplan im Ergebnisbereich anzuzeigen, aktivieren Sie Explain (Erläuterung).

Um eine Abfrage im Ordner Queries (Abfragen) zu speichern, wählen Sie Save (Speichern) aus.

Bei einer erfolgreichen Abfrage wird eine Erfolgsmeldung angezeigt. Wenn die Abfrage Informationen zurückgibt, werden die Ergebnisse im Abschnitt Results (Ergebnisse) gezeigt. Wenn die Anzahl der Ergebnisse den Anzeigebereich überschreitet, erscheinen oben im Ergebnisbereich Zahlen. Sie können die Zahlen auswählen, um die Ergebnisse auf aufeinanderfolgenden Seiten anzuzeigen.

Sie können den Abschnitt Result (Ergebnis) für jede Spalte filtern und sortieren. Um Filterkriterien in die Ergebnisspaltenüberschrift einzugeben, bewegen Sie den Mauszeiger über die Spalte. Es erscheint ein Menü ( 
                    Filter menu
                ), wo Sie Kriterien zum Filtern eingeben können.

Wenn die Abfrage einen Fehler enthält, zeigt der Abfrage-Editor v2 eine Fehlermeldung im Ergebnisbereich an. Die Nachricht enthält Informationen dazu, wie die Abfrage korrigiert werden kann.

Sie können die Ergebnisse Ihrer Abfrage exportieren oder kopieren, indem Sie das Kontextmenü (Rechtsklick) im Ergebnisbereich wie folgt verwenden:

  • Wählen Sie Export result set (Ergebnissatz exportieren) und entweder JSON oder CSV aus, um den gesamten Satz von Zeilenergebnissen in eine Datei herunterzuladen. Die Anzahl der Zeilen im Ergebnissatz kann durch die Option Limit oder die SQL-limit-Klausel in der Abfrage beschränkt werden. Die maximale Größe des heruntergeladenen Ergebnissatzes beträgt 5 MB.

  • Wenn keine Zeilen ausgewählt sind, wählen Sie Export current page (Aktuelle Seite exportieren) und entweder JSON oder CSV aus, um die Zeilen von der aktuellen Seite in eine Datei herunterzuladen.

  • Wenn Zeilen ausgewählt sind, wählen Sie Export selected rows (Ausgewählte Zeilen exportieren) und entweder JSON oder CSV aus, um die Zeilen herunterzuladen, die für eine Datei ausgewählt sind.

  • Nachdem Zeilen ausgewählt sind, wählen Sie Copy rows (Zeilen kopieren) aus, um die ausgewählten Zeilen in die Zwischenablage zu kopieren.

  • Nachdem Zeilen ausgewählt sind, wählen Sie Copy rows with headers (Zeilen mit Überschriften kopieren) aus, um die ausgewählten Zeilen mit den Spaltenüberschriften in die Zwischenablage zu kopieren.

Sie können auch die Tastenkombination Strg+C unter Windows oder Cmd+C unter Mac verwenden, um Daten von der aktuellen Ergebnisseite in die Zwischenablage zu kopieren. Wenn keine Zeilen ausgewählt sind, wird die Zelle mit Fokus in die Zwischenablage kopiert. Nachdem Zeilen ausgewählt sind, werden die ausgewählten Zeilen in die Zwischenablage kopiert.

Um eine neue Abfrage-Registerkarte hinzuzufügen, wählen Sie das Symbol 
                    New query tab
                aus, das in der Zeile mit den Abfrage-Registerkarten angezeigt wird.

Eine Abfrage ausführen

  1. Führen Sie im Abfragebereich einen der folgenden Schritte aus:

    • Geben Sie eine Abfrage ein.

    • Fügen Sie eine Abfrage ein, die Sie kopiert haben.

    • Wählen Sie den Ordner Queries (Abfragen), öffnen Sie das Kontextmenü (rechte Maustaste) über einer gespeicherten Abfrage und wählen Sie Open query (Abfrage öffnen) aus.

  2. Vergewissern Sie sich, dass Sie den richtigen Wert für den Cluster oder die Workgroup (Arbeitsgruppe) und die Database (Datenbank) für das SQL ausgewählt haben, das Sie ausführen möchten.

    Zunächst können Sie Ihren Cluster oder Ihre Workgroup (Arbeitsgruppe) in der Baumansicht auswählen. Wählen Sie Ihre Database (Datenbank) auch in der Baumansicht.

    Ändern Sie Ihren Wert für Cluster oder Workgroup (Arbeitsgruppe), indem Sie in der Baumansicht einen anderen Wert auswählen. Ändern Sie die Datenbank, indem Sie eine andere auswählen (Database (Datenbank) in der Schnittstelle).

  3. Wählen Sie Run (Ausführen) aus.

    Der Bereich Result (Ergebnis) öffnet sich. Dort werden die Ergebnisse angezeigt.

Den Erläuterungsplan für eine Abfrage anzeigen

  1. Wählen Sie die Abfrage aus.

  2. Aktivieren Sie Explain (Erläutern).

    Standardmäßig ist das Explain graph(Erläuterungsdiagramm) ebenfalls aktiviert.

  3. Wählen Sie Run (Ausführen) aus.

    Die Abfrage wird ausgeführt und der Erläuterungsplan wird im Bereich Result (Ergebnis) der Abfrage angezeigt.

Die Abfragen-Editor v2 unterstützt die folgenden Funktionen:

  • Sie können Abfragen mit mehreren SQL-Anweisungen auf einer Abfrageregisterkarte erstellen. Die Abfragen werden seriell ausgeführt und es werden mehrere Ergebnisregisterkarten für die einzelnen Abfragen geöffnet.

  • Sie können Abfragen mit Sitzungsvariablen und temporären Tabellen erstellen.

  • Sie können Abfragen mit austauschbaren Parametern erstellen, die durch ${parameter} bestimmt sind. Sie können Ihre SQL-Abfrage mit mehreren austauschbaren Parametern erstellen und denselben Parameter an mehreren Stellen in Ihrer SQL-Anweisung verwenden.

    Wenn die Abfrage ausgeführt wird, wird ein Fenster angezeigt, in das Sie den Wert des Parameters eingeben. Jedes Mal, wenn Sie die Abfrage ausführen, wird das Fenster angezeigt, in dem Sie Ihre Parameterwerte eingeben können.

    Ein Beispiel finden Sie unter Beispiel: Umsatz größer als ein bestimmter Parameter.

  • Abfragen werden automatisch versioniert. Sie können eine frühere Version einer auszuführenden Abfrage auswählen.

  • Sie müssen nicht warten, bis eine Abfrage abgeschlossen ist, bevor Sie mit dem Workflow fortfahren. Abfragen werden weiterhin ausgeführt, auch wenn Sie den Abfrage-Editor schließen.

  • Beim Erstellen von Abfragen wird das automatische Vervollständigen von Schema-, Tabellen- und Spaltennamen mit einer Verknüpfung unterstützt.

    Wählen Sie das Symbol 
                            Shortcuts
                        Shortcuts, um das Tastaturkürzel für Auto complete (Automatisch abschließen) zu finden.

Die folgenden Beispiele veranschaulichen einige dieser Funktionen.

Abfragebeispiele

Im Folgenden finden Sie Beschreibungen der verschiedenen Abfragetypen, die Sie ausführen können.

Die in vielen dieser Abfragen verwendeten Daten stammen aus dem tickit-Beispielschema. Weitere Informationen zu tickit-Daten finden Sie unter Laden von Beispieldaten.

Wenn Sie diese Beispielabfragen ausführen, bestätigen Sie, dass Sie die richtige Datenbank im Editor ausgewählt haben, z. B. sample_data_dev.

Beispiel: Setzen von Sitzungsvariablen

Mit dem folgenden Befehl wird der search_path-Server-Konfigurationsparameter für die Sitzung auf public (öffentlich) gesetzt. Weitere Informationen finden Sie unter SET und search_pathim Datenbankentwicklerhandbuch zu Amazon Redshift.

set search_path to public;

Beispiel: Top-Veranstaltung nach Gesamtumsatz

Die folgende Abfrage findet die Veranstaltung mit dem größten Umsatz.

select eventname, count(salesid) totalorders, sum(pricepaid) totalsales from sales, event where sales.eventid=event.eventid group by eventname order by 3;

Es folgt eine unvollständige Liste der Ergebnisse.

eventname totalorders totalsales White Christmas 20 9352 Joshua Radin 38 23469 Beach Boys 58 30383 Linda Ronstadt 56 35043 Rascal Flatts 76 38214 Billy Idol 67 40101 Stephenie Meyer 72 41509 Indigo Girls 57 45399 ...

Beispiel: Umsatz größer als ein bestimmter Parameter

Die folgende Abfrage findet Umsätze, bei denen die verkaufte Menge größer ist als der durch ${numberoforders} bestimmte Parameter. Wenn der Parameterwert 7 lautet, hat das Ergebnis 60 Zeilen. Wenn Sie die Abfrage ausführen, zeigt der Abfrage-Editor v2 das Fenster Run query form (Abfrageformular ausführen) an, auf dem der Wert von Parametern in der SQL-Anweisung gesammelt wird.

select salesid, qtysold from sales where qtysold > ${numberoforders} order by 2;

Es folgt eine unvollständige Liste der Ergebnisse.

salesid qtysold 20005 8 21279 8 130232 8 42737 8 74681 8 67103 8 105533 8 91620 8 121552 8 ...

Beispiel: Erstellen einer temporären Tabelle

Die folgende Anweisung erstellt die temporäre Tabelle eventsalestemp indem Informationen aus den Tabellen sales und events ausgewählt werden.

create temporary table eventsalestemp as select eventname, count(salesid) totalorders, sum(pricepaid) totalsales from sales, event where sales.eventid=event.eventid group by eventname;

Beispiel: Auswahl aus einer temporären Tabelle

Die folgende Anweisung wählt Ereignisse, Gesamtaufträge und Gesamtumsatz aus der temporären Tabelle eventsalestemp, geordnet nach der Gesamtzahl der Bestellungen.

select eventname, totalorders, totalsales from eventsalestemp order by 2;

Es folgt eine unvollständige Liste der Ergebnisse.

eventname totalorders totalsales White Christmas 20 9352 Joshua Radin 38 23469 Martina McBride 50 52932 Linda Ronstadt 56 35043 Indigo Girls 57 45399 Beach Boys 58 30383 ...

Was es bei der Abfrage zu berücksichtigen gibt

Beachten Sie Folgendes bei der Arbeit mit Abfragen, wenn Sie den Abfrage-Editor verwenden:

  • Das Abfrageergebnis darf höchstens 5 MB bzw. 100 000 Zeilen groß sein.

  • Sie können Abfragen mit bis zu 300 000 Zeichen ausführen.

  • Sie können Abfragen mit bis zu 30 000 Zeichen speichern.

  • Im Editor können Sie keine Transaktionen verwenden. Weitere Informationen zu Transaktionen finden Sie unter BEGIN im Datenbankentwicklerhandbuch zu Amazon Redshift.