LATERALSUBQUERYKlausel - OpenSearch Amazon-Dienst

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.

LATERALSUBQUERYKlausel

Anmerkung

Informationen darüber, welche AWS Datenquellenintegrationen diesen SQL Befehl unterstützen, finden Sie unterUnterstützte OpenSearch SQL Befehle und Funktionen.

LATERAL SUBQUERYist eine Unterabfrage, der das Schlüsselwort vorangestellt ist. LATERAL Es bietet eine Möglichkeit, auf Spalten in der vorherigen FROM Klausel zu verweisen. Ohne das LATERAL Schlüsselwort können Unterabfragen nur auf Spalten in der äußeren Abfrage verweisen, nicht jedoch auf Spalten in der FROM Klausel. LATERAL SUBQUERYmacht die komplizierten Abfragen einfacher und effizienter.

Syntax

[ LATERAL ] primary_relation [ join_relation ]

Parameter

  • primary_relation

    Gibt die primäre Beziehung an. Es kann sich dabei um eines der folgenden handeln:

    1. Beziehung zur Tabelle

    2. Abfrage mit Aliasnamen

      Syntax: ( query ) [ [ AS ] alias ]

    3. Beziehung mit Aliasnamen

      Syntax: ( relation ) [ [ AS ] alias ]

Beispiele

CREATE TABLE t1 (c1 INT, c2 INT); INSERT INTO t1 VALUES (0, 1), (1, 2); CREATE TABLE t2 (c1 INT, c2 INT); INSERT INTO t2 VALUES (0, 2), (0, 3); SELECT * FROM t1, LATERAL (SELECT * FROM t2 WHERE t1.c1 = t2.c1); +--------+-------+--------+-------+ | t1.c1 | t1.c2 | t2.c1 | t2.c2 | +-------+--------+--------+-------+ | 0 | 1 | 0 | 3 | | 0 | 1 | 0 | 2 | +-------+--------+--------+-------+ SELECT a, b, c FROM t1, LATERAL (SELECT c1 + c2 AS a), LATERAL (SELECT c1 - c2 AS b), LATERAL (SELECT a * b AS c); +--------+-------+--------+ | a | b | c | +-------+--------+--------+ | 3 | -1 | -3 | | 1 | -1 | -1 | +-------+--------+--------+