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 SUBQUERY
ist 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 SUBQUERY
macht 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:
-
Beziehung zur Tabelle
-
Abfrage mit Aliasnamen
Syntax:
( query ) [ [ AS ] alias ]
-
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 | +-------+--------+--------+