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.
Lesen Sie Daten aus einer Tabelle mithilfe der CQL SELECT
Anweisung in Amazon Keyspaces
In Daten in eine Amazon Keyspaces-Tabelle einfügen und laden diesem Abschnitt haben Sie anhand der SELECT
Erklärung überprüft, ob Sie Ihrer Tabelle erfolgreich Daten hinzugefügt haben. In diesem Abschnitt verfeinern Sie Ihre Verwendung von, SELECT
um bestimmte Spalten und nur Zeilen anzuzeigen, die bestimmte Kriterien erfüllen.
Die allgemeine Form der SELECT
Aussage lautet wie folgt.
SELECT column_list
FROM table_name
[WHERE condition
[ALLOW FILTERING]] ;
Themen
Wählen Sie alle Daten in Ihrer Tabelle aus
Die einfachste Form der SELECT
Anweisung gibt alle Daten in Ihrer Tabelle zurück.
Wichtig
In einer Produktionsumgebung ist es in der Regel nicht empfehlenswert, diesen Befehl auszuführen, da er alle Daten in Ihrer Tabelle zurückgibt.
Um alle Daten Ihrer Tabelle auszuwählen
-
Öffnen AWS CloudShell und stellen Sie mit dem folgenden Befehl eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie aktualisieren
us-east-1
mit deiner eigenen Region.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Führen Sie die folgende Abfrage aus.
SELECT * FROM catalog.book_awards ;
Wenn Sie das Platzhalterzeichen (
*
) für verwenden, werden allecolumn_list
Spalten ausgewählt. Die Ausgabe der Anweisung sieht wie das folgende Beispiel aus.year | award | category | rank | author | book_title | publisher ------+------------------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher 2020 | Kwesi Manu Prize | Fiction | 1 | Akua Mansa | Where did you go? | SomePublisher 2020 | Kwesi Manu Prize | Fiction | 2 | John Stiles | Yesterday | Example Books 2020 | Kwesi Manu Prize | Fiction | 3 | Nikki Wolf | Moving to the Chateau | AnyPublisher 2020 | Richard Roe | Fiction | 1 | Alejandro Rosalez | Long Summer | SomePublisher 2020 | Richard Roe | Fiction | 2 | Arnav Desai | The Key | Example Books 2020 | Richard Roe | Fiction | 3 | Mateo Jackson | Inside the Whale | AnyPublisher
Wählen Sie eine Teilmenge von Spalten aus
Um eine Teilmenge von Spalten abzufragen
-
Öffnen AWS CloudShell und stellen Sie mit dem folgenden Befehl eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie aktualisieren
us-east-1
mit deiner eigenen Region.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Führen Sie die folgende Abfrage aus
award
category
, um nur dieyear
Spalten, und abzurufen.SELECT award, category, year FROM catalog.book_awards ;
Die Ausgabe enthält nur die angegebenen Spalten in der Reihenfolge, die in der
SELECT
Anweisung aufgeführt ist.award | category | year ------------------+-------------+------ Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020
Wählen Sie eine Teilmenge von Zeilen aus
Wenn Sie einen großen Datensatz abfragen, möchten Sie möglicherweise nur Datensätze, die bestimmte Kriterien erfüllen. Dazu können Sie am Ende unserer SELECT
Aussage eine WHERE
Klausel anhängen.
Um eine Teilmenge von Zeilen abzufragen
-
Öffnen AWS CloudShell und stellen Sie mit dem folgenden Befehl eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie aktualisieren
us-east-1
mit deiner eigenen Region.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Führen Sie die folgende Abfrage aus, um nur die Datensätze für die Auszeichnungen eines bestimmten Jahres abzurufen.
SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;
Die vorherige
SELECT
Anweisung gibt die folgende Ausgabe zurück.year | award | category | rank | author | book_title | publisher ------+-------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher
Die WHERE
Klausel verstehen
Die WHERE
Klausel wird verwendet, um die Daten zu filtern und nur die Daten zurückzugeben, die die angegebenen Kriterien erfüllen. Bei den angegebenen Kriterien kann es sich um eine einfache oder eine zusammengesetzte Bedingung handeln.
Wie verwendet man Bedingungen in einer WHERE
Klausel
-
Eine einfache Bedingung — Eine einzelne Spalte.
WHERE column_name=value
Sie können eine einfache Bedingung in einer
WHERE
Klausel verwenden, wenn eine der folgenden Bedingungen erfüllt ist:-
Die Spalte ist die einzige Partitionsschlüsselspalte der Tabelle.
-
Sie fügen
ALLOW FILTERING
nach der Bedingung in derWHERE
Klausel hinzu.Beachten Sie, dass die Verwendung zu einer inkonsistenten Leistung führen
ALLOW FILTERING
kann, insbesondere bei großen und mehrfach partitionierten Tabellen.
-
-
Eine zusammengesetzte Bedingung — Mehrere einfache Bedingungen, die miteinander verbunden sind.
AND
WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...
Sie können zusammengesetzte Bedingungen in einer
WHERE
Klausel verwenden, wenn eine der folgenden Bedingungen erfüllt ist:-
Die Spalten, die Sie in der
WHERE
Klausel verwenden können, müssen entweder alle oder eine Teilmenge der Spalten im Partitionsschlüssel der Tabelle enthalten. Wenn Sie nur eine Teilmenge der Spalten in derWHERE
Klausel verwenden möchten, müssen Sie einen zusammenhängenden Satz von Partitionsschlüsselspalten von links nach rechts einbeziehen, beginnend mit der ersten Spalte des Partitionsschlüssels. Wenn die Partitionsschlüsselspalten beispielsweiseyear
month
, undaward
dann können Sie die folgenden Spalten in der Klausel verwenden:WHERE
year
year
ANDmonth
year
ANDmonth
ANDaward
-
Sie fügen
ALLOW FILTERING
nach der zusammengesetzten Bedingung in derWHERE
Klausel hinzu, wie im folgenden Beispiel.SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;
Beachten Sie, dass die Verwendung zu einer inkonsistenten Leistung führen
ALLOW FILTERING
kann, insbesondere bei großen und mehrfach partitionierten Tabellen.
-
Probieren Sie es aus
Erstellen Sie Ihre eigenen CQL Abfragen, um Folgendes aus Ihrer book_awards
Tabelle zu ermitteln:
-
Finden Sie die Gewinner der Wolf Awards 2020 und zeigen Sie die Buchtitel und Autoren nach Rang geordnet an.
-
Zeigen Sie die Gewinner des ersten Preises für alle Auszeichnungen im Jahr 2020 an und zeigen Sie die Buchtitel und die Namen der Auszeichnungen an.