

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.

# Verwenden Sie den `IN` Operator mit der `SELECT` Anweisung in einer Abfrage in Amazon Keyspaces
<a name="in.select"></a>

**WÄHLEN SIE IN**

Sie können Daten aus Tabellen mit der `SELECT` Anweisung abfragen, die eine oder mehrere Spalten für eine oder mehrere Zeilen in einer Tabelle liest und eine Ergebnismenge zurückgibt, die die Zeilen enthält, die der Anforderung entsprechen. Eine `SELECT` Anweisung enthält eine`select_clause`, die bestimmt, welche Spalten gelesen und in der Ergebnismenge zurückgegeben werden sollen. Die Klausel kann Anweisungen zum Transformieren der Daten enthalten, bevor sie zurückgegeben werden. Die optionale `WHERE` Klausel gibt an, welche Zeilen abgefragt werden müssen, und besteht aus Beziehungen zu den Spalten, die Teil des Primärschlüssels sind. Amazon Keyspaces unterstützt das `IN` Schlüsselwort in der `WHERE` Klausel. In diesem Abschnitt wird anhand von Beispielen gezeigt, wie Amazon Keyspaces `SELECT` Anweisungen mit dem `IN` Schlüsselwort verarbeitet.

Dieses Beispiel zeigt, wie Amazon Keyspaces die `SELECT` Anweisung mit dem `IN` Schlüsselwort in *Unterabfragen* aufteilt. In diesem Beispiel verwenden wir eine Tabelle mit dem Namen. `my_keyspace.customers` Die Tabelle hat eine Primärschlüsselspalte`department_id`, zwei Clusterspalten `sales_region_id` und eine Spalte`sales_representative_id`, die den Namen des Kunden in der `customer_name` Spalte enthält.

```
SELECT * FROM my_keyspace.customers;

         department_id | sales_region_id | sales_representative_id | customer_name
        ---------------+-----------------+-------------------------+--------------
          0            |        0        |            0            |    a
          0            |        0        |            1            |    b
          0            |        1        |            0            |    c
          0            |        1        |            1            |    d
          1            |        0        |            0            |    e
          1            |        0        |            1            |    f
          1            |        1        |            0            |    g
          1            |        1        |            1            |    h
```

Mithilfe dieser Tabelle können Sie die folgende `SELECT` Anweisung ausführen, um anhand des `IN` Schlüsselworts in der `WHERE` Klausel die Kunden in den Abteilungen und Vertriebsregionen zu finden, an denen Sie interessiert sind. Die folgende Aussage ist ein Beispiel dafür.

```
SELECT * FROM my_keyspace.customers WHERE department_id IN (0, 1) AND sales_region_id IN (0, 1);
```

Amazon Keyspaces unterteilt diese Anweisung in vier Unterabfragen, wie in der folgenden Ausgabe dargestellt.

```
SELECT * FROM my_keyspace.customers WHERE department_id = 0 AND sales_region_id = 0;

 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  0            |        0        |           0             |    a
  0            |        0        |           1             |    b

SELECT * FROM my_keyspace.customers WHERE department_id = 0 AND sales_region_id = 1;

 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  0            |        1        |          0              |    c
  0            |        1        |          1              |    d

SELECT * FROM my_keyspace.customers WHERE department_id = 1 AND sales_region_id = 0;

 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  1            |        0        |          0              |    e
  1            |        0        |          1              |    f

SELECT * FROM my_keyspace.customers WHERE department_id = 1 AND sales_region_id = 1;

 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  1            |        1        |           0             |    g
  1            |        1        |           1             |    h
```

Wenn das `IN` Schlüsselwort verwendet wird, paginiert Amazon Keyspaces die Ergebnisse in den folgenden Fällen automatisch:
+ Nachdem jede zehnte Unterabfrage verarbeitet wurde.
+ Nach der Verarbeitung von 1 MB logischer I/O.
+ Wenn Sie eine konfiguriert haben`PAGE SIZE`, paginiert Amazon Keyspaces nach dem Lesen der Anzahl der Abfragen, die auf der Gruppe basieren, die verarbeitet werden sollen. `PAGE SIZE`
+ Wenn Sie das `LIMIT` Schlüsselwort verwenden, um die Anzahl der zurückgegebenen Zeilen zu reduzieren, paginiert Amazon Keyspaces, nachdem es die Anzahl der Abfragen gelesen hat, die auf dem Satz basieren. `LIMIT`

 Die folgende Tabelle wird verwendet, um dies anhand eines Beispiels zu veranschaulichen.

Weitere Hinweise zur Seitennummerierung finden Sie unter[Ergebnisse in Amazon Keyspaces paginieren](paginating-results.md).

```
SELECT * FROM my_keyspace.customers;

         department_id | sales_region_id | sales_representative_id | customer_name
        ---------------+-----------------+-------------------------+--------------
          2            |        0        |          0              |    g
          2            |        1        |          1              |    h
          2            |        2        |          2              |    i
          0            |        0        |          0              |    a
          0            |        1        |          1              |    b
          0            |        2        |          2              |    c
          1            |        0        |          0              |    d
          1            |        1        |          1              |    e
          1            |        2        |          2              |    f
          3            |        0        |          0              |    j
          3            |        1        |          1              |    k
          3            |        2        |          2              |    l
```

Sie können die folgende Anweisung für diese Tabelle ausführen, um zu sehen, wie die Paginierung funktioniert.

```
SELECT * FROM my_keyspace.customers WHERE department_id IN (0, 1, 2, 3) AND sales_region_id IN (0, 1, 2) AND sales_representative_id IN (0, 1);
```

Amazon Keyspaces verarbeitet diese Anweisung als 24 Unterabfragen, da die Kardinalität des kartesischen Produkts aller in dieser Abfrage enthaltenen `IN` Begriffe 24 ist.

```
 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  0            |        0        |          0              |    a
  0            |        1        |          1              |    b
  1            |        0        |          0              |    d
  1            |        1        |          1              |    e

---MORE---
 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  2            |        0        |          0              |    g
  2            |        1        |          1              |    h
  3            |        0        |          0              |    j

---MORE---
 department_id | sales_region_id | sales_representative_id | customer_name
---------------+-----------------+-------------------------+--------------
  3            |        1        |          1              |    k
```

Dieses Beispiel zeigt, wie Sie die `ORDER BY` Klausel in einer Anweisung mit dem Schlüsselwort verwenden können. `SELECT` `IN`

```
SELECT * FROM my_keyspace.customers WHERE department_id IN (3, 2, 1) ORDER BY sales_region_id DESC;
        
         department_id | sales_region_id | sales_representative_id | customer_name
        ---------------+-----------------+-------------------------+--------------
          3            |        2        |          2              |    l
          3            |        1        |          1              |    k
          3            |        0        |          0              |    j
          2            |        2        |          2              |    i
          2            |        1        |          1              |    h
          2            |        0        |          0              |    g
          1            |        2        |          2              |    f
          1            |        1        |          1              |    e
          1            |        0        |          0              |    d
```

Unterabfragen werden in der Reihenfolge verarbeitet, in der die Spalten Partitionsschlüssel und Clusterschlüssel in der Abfrage dargestellt werden. Im folgenden Beispiel werden Unterabfragen für den Partitionsschlüsselwert“ 2 „zuerst verarbeitet, gefolgt von Unterabfragen für den Partitionsschlüsselwert“ 3 „und“ 1“. Die Ergebnisse einer bestimmten Unterabfrage werden gemäß der Sortierklausel der Abfrage, falls vorhanden, oder der bei der Tabellenerstellung definierten Clusterreihenfolge der Tabelle sortiert. 

```
SELECT * FROM my_keyspace.customers WHERE department_id IN (2, 3, 1) ORDER BY sales_region_id DESC;

         department_id | sales_region_id | sales_representative_id | customer_name
        ---------------+-----------------+-------------------------+--------------
          2            |        2        |          2              |    i
          2            |        1        |          1              |    h
          2            |        0        |          0              |    g
          3            |        2        |          2              |    l
          3            |        1        |          1              |    k
          3            |        0        |          0              |    j
          1            |        2        |          2              |    f
          1            |        1        |          1              |    e
          1            |        0        |          0              |    d
```