

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.

# Daten aus einer Tabelle mithilfe der `SELECT` CQL-Anweisung in Amazon Keyspaces lesen
<a name="getting-started.dml.read"></a>

In [Daten in eine Amazon Keyspaces-Tabelle einfügen und laden](getting-started.dml.create.md) diesem Abschnitt haben Sie anhand der `SELECT` Anweisung ü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]] ;
```

**Topics**
+ [Wählen Sie alle Daten in Ihrer Tabelle aus](#getting-started.dml.read.all)
+ [Wählen Sie eine Teilmenge von Spalten](#getting-started.dml.read.columns)
+ [Wählen Sie eine Teilmenge von Zeilen aus](#getting-started.dml.read.rows)

## Wählen Sie alle Daten in Ihrer Tabelle aus
<a name="getting-started.dml.read.all"></a>

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

1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie *us-east-1* mit Ihrer eigenen Region aktualisieren. 

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. Führen Sie die folgende Abfrage aus.

   ```
   SELECT * FROM catalog.book_awards ;
   ```

   Wenn Sie das Platzhalterzeichen (`*`) für verwenden, werden alle `column_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
<a name="getting-started.dml.read.columns"></a>

**Um eine Teilmenge von Spalten abzufragen**

1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie *us-east-1* mit Ihrer eigenen Region aktualisieren. 

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. Führen Sie die folgende Abfrage aus `award``category`, um nur die `year` 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
<a name="getting-started.dml.read.rows"></a>

Wenn Sie einen großen Datensatz abfragen, möchten Sie möglicherweise nur Datensätze, die bestimmte Kriterien erfüllen. Zu diesem Zweck können Sie eine `WHERE` Klausel an das Ende unserer `SELECT` Anweisung anhängen.

**Um eine Teilmenge von Zeilen abzufragen**

1. Öffnen Sie Amazon Keyspaces AWS CloudShell und stellen Sie mithilfe des folgenden Befehls eine Verbindung zu Amazon Keyspaces her. Stellen Sie sicher, dass Sie *us-east-1* mit Ihrer eigenen Region aktualisieren. 

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. 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
<a name="getting-started.dml.where"></a>

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 der `WHERE` 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 der `WHERE` 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 beispielsweise `year``month`, und `award` dann können Sie die folgenden Spalten in der Klausel verwenden: `WHERE` 
    + `year`
    + `year`UND `month`
    + `year`UND `month` UND `award`
  + Sie fügen `ALLOW FILTERING` nach der zusammengesetzten Bedingung in der `WHERE` 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
<a name="getting-started.dml.try"></a>

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, sortiert nach Rang, 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.