Erstellen und Ausführen von Abfragen - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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). Aktivieren Sie Explain graph (Diagramm erläutern), damit die Ergebnisse auch eine grafische Darstellung des Erläuterungsplans anzeigen.

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 macOS 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
                und dann die Option Editor aus, die in der Zeile mit den Abfrage-Registerkarten angezeigt wird. Die Abfrage-Registerkarte verwendet eine Isolated session oder auch nicht. Bei einer isolierten Verbindung sind die Ergebnisse eines SQL-Befehls, z. B. das Erstellen einer temporären Tabelle, auf einer anderen Editor-Registerkarte nicht sichtbar. Wenn Sie eine Editor-Registerkarte im Abfrage-Editor v2 öffnen, ist die Standardeinstellung eine isolierte Sitzung.

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 Strukturansicht auswählen. Wählen Sie Ihre Database (Datenbank) auch in der Strukturansicht.

    Sie können Cluster oder Workgroup (Arbeitsgruppe) sowie Database (Datenbank) innerhalb jeder Editor-Registerkarte mit dem Dropdown-Steuerelement neben der Kopfzeile Isolated session (Isolierte Sitzung) der jeweiligen Editor-Registerkarte ändern.

    Für jede Editor-Registerkarte wählen Sie aus, ob der SQL-Befehl in einer Isolated session (Isolierte Sitzung) ausgeführt werden soll. Eine isolierte Sitzung hat eine eigene Verbindung mit einer Datenbank. Verwenden Sie diese, um SQL auszuführen, das von anderen Abfrage-Editor-Sitzungen isoliert ist. Weitere Informationen zu Verbindungen finden Sie unter Öffnen des Abfrage-Editors v2.

  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 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 unterstützt.

Die SQL-Editor unterstützt die folgenden Funktionen:

  • Die in SQL verwendeten Anfangs- und Endklammern haben übereinstimmende Farben. Im Editor werden vertikale Linien angezeigt, um Ihnen beim Zuordnen von Klammern zu helfen.

  • Sie können Abschnitte Ihres SQL reduzieren und erweitern.

  • Sie können Text in Ihrem SQL suchen und ersetzen.

  • Sie können Tastenkombinationen für verschiedene allgemeine Bearbeitungsaufgaben verwenden.

  • Im Editor werden SQL-Fehler hervorgehoben, um ein einfaches Auffinden von Problembereichen zu ermöglichen.

Eine Demo der Editorfunktionen finden Sie im folgenden Video.

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 zum Laden der tickit-Beispieldaten finden Sie unter Laden von Beispieldaten. Weitere Informationen über tickit-Beispieldaten finden Sie unter Beispieldatenbank im Datenbankentwicklerhandbuch zu Amazon Redshift.

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 ...