Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

PartiQL-Select-Anweisungen für DynamoDB

Fokusmodus
PartiQL-Select-Anweisungen für DynamoDB - Amazon-DynamoDB

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.

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 die SELECT-Anweisung zum Abrufen von Daten aus einer Tabelle in Amazon DynamoDB.

Die Verwendung der SELECT Anweisung kann zu einem vollständigen Tabellenscan führen, wenn die WHERE-Klausel keine Gleichheits- oder IN-Bedingung mit einem Partitionsschlüssel enthält. Die Scan-Operation untersucht jedes Element auf die angeforderten Werte und kann den bereitgestellten Durchsatz für eine große Tabelle oder Index in einer einzigen Operation verbrauchen.

Wenn Sie den vollständigen Tabellenscan in PartiQL vermeiden möchten, können Sie:

Weitere Informationen finden Sie unter Bewährte Methoden für das Abfragen und Scannen von Daten im DynamoDB-Entwicklerhandbuch.

Syntax

SELECT expression [, ...] FROM table[.index] [ WHERE condition ] [ [ORDER BY key [DESC|ASC] , ...]

Parameter

expression

(erforderlich) Eine Projektion aus dem *-Platzhalter oder eine Projektionsliste aus einem oder mehreren Attributnamen oder Dokumentpfaden aus dem Ergebnissatz. Ein Ausdruck kann aus Aufrufen an PartiQL-Funktionen mit DynamoDB verwenden oder Feldern bestehen, die von PartiQL-Arithmetik-, Vergleichs- und logische Operatoren für DynamoDB geändert werden.

table

(Erforderlich) Der abzufragende Tabellenname.

index

(Optional) Der Name des abzufragenden Indexes.

Anmerkung

Sie müssen dem Tabellennamen und dem Indexnamen doppelte Anführungszeichen hinzufügen, wenn Sie einen Index abfragen.

SELECT * FROM "TableName"."IndexName"
condition

(Optional) Die Auswahlkriterien für die Abfrage.

Wichtig

Um sicherzustellen, dass eine SELECT-Anweisung nicht zu einem vollständigen Tabellenscan führt, muss die WHERE-Klauselbedingung einen Partitionsschlüssel angeben. Verwenden Sie den Gleichheits- oder IN-Operator.

Angenommen, Sie haben eine Orders-Tabelle mit OrderID-Partitionsschlüssel und andere Nicht-Schlüsselattribute, einschließlich eines Address, würden die folgenden Anweisungen nicht zu einem vollständigen Tabellenscan führen:

SELECT * FROM "Orders" WHERE OrderID = 100 SELECT * FROM "Orders" WHERE OrderID = 100 and Address='some address' SELECT * FROM "Orders" WHERE OrderID = 100 or OrderID = 200 SELECT * FROM "Orders" WHERE OrderID IN [100, 300, 234]

Folgende SELECT-Anweisungen führen jedoch zu einem vollständigen Tabellenscan:

SELECT * FROM "Orders" WHERE OrderID > 1 SELECT * FROM "Orders" WHERE Address='some address' SELECT * FROM "Orders" WHERE OrderID = 100 OR Address='some address'
key

(Optional) Ein Hash-Schlüssel oder ein Sortierschlüssel, der zum Sortieren von ausgegebenen Ergebnissen verwendet werden soll. Die Standardreihenfolge ist aufsteigend (ASC) Geben Sie an.DESC, wenn die Ergebnisse in absteigender Reihenfolge neu abgestimmt werden sollen.

Anmerkung

Wenn Sie die WHERE-Klausel weglassen, werden alle Elemente in der Tabelle abgerufen.

Beispiele

Die folgende Abfrage gibt ein Element, falls vorhanden, aus der Orders-Tabelle zurück, indem der Partitionsschlüssel OrderID angegeben und der Gleichheitsoperator verwendet wird.

SELECT OrderID, Total FROM "Orders" WHERE OrderID = 1

Die folgende Abfrage gibt alle Elemente in der Orders-Tabelle mit einem bestimmten Partitionsschlüssel OrderID zurück, mithilde von Werten mit dem Operator OR.

SELECT OrderID, Total FROM "Orders" WHERE OrderID = 1 OR OrderID = 2

Die folgende Abfrage gibt alle Elemente in der Orders-Tabelle mit einem bestimmten Partitionsschlüssel OrderID zurück, mithilde von Werten mit dem Operator IN. Die zurückgegebenen Ergebnisse sind in absteigender Reihenfolge, basierend auf dem OrderID-Attributwert.

SELECT OrderID, Total FROM "Orders" WHERE OrderID IN [1, 2, 3] ORDER BY OrderID DESC

Die folgende Abfrage zeigt einen vollständigen Tabellenscan, der alle Elemente aus der Orders-Tabelle zurückgibt, deren Total größer als 500 ist, wobei Total ein Nicht-Schlüsselattribut ist.

SELECT OrderID, Total FROM "Orders" WHERE Total > 500

Die folgende Abfrage zeigt einen vollständigen Tabellenscan, der alle Elemente aus der Orders-Tabelle innerhalb eines bestimmten Total-Reihenfolgebereichs zurückgibt, wobei der IN-Operator und ein Nicht-Schlüsselattribut Total verwendet werden.

SELECT OrderID, Total FROM "Orders" WHERE Total IN [500, 600]

Die folgende Abfrage zeigt einen vollständigen Tabellenscan, der alle Elemente aus der Orders-Tabelle innerhalb eines bestimmten Total-Reihenfolgebereichs zurückgibt, wobei der BETWEEN-Operator und ein Nicht-Schlüsselattribut Total verwendet werden.

SELECT OrderID, Total FROM "Orders" WHERE Total BETWEEN 500 AND 600

Die folgende Abfrage gibt das erste Datum zurück, an dem ein Firestick-Gerät zum Überwachen verwendet wurde, indem der CustomerID-Partitionsschlüssel und der MovieID-Sortierschlüssel in der Bedingung der WHERE-Klausel angegeben und Dokumentpfade in der SELECT-Klausel verwendet werden.

SELECT Devices.FireStick.DateWatched[0] FROM WatchList WHERE CustomerID= 'C1' AND MovieID= 'M1'

Die folgende Abfrage zeigt einen vollständigen Tabellenscan, der die Liste der Elemente zurückgibt, bei denen ein Firestick-Gerät nach dem 24.12.19 zum ersten Mal unter Verwendung von Dokumentpfaden in der WHERE-Klausel Bedingung verwendet wurde.

SELECT Devices FROM WatchList WHERE Devices.FireStick.DateWatched[0] >= '12/24/19'
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.