SQL > SQL Befehle > Unterabfrage 

Es besteht die Möglichkeit, eine SQL-Anweisung in eine andere einzubetten. Geschieht dies in WHERE- oder HAVING-Anweisungen, ergibt sich eine Unteranfrage.

Die Syntax sieht folgendermaßen aus:

SELECT "Spalten_Name1"
FROM "Tabellen_Name1"
WHERE "Spalten_Name2"
[Vergleichsoperator]
(SELECT "Spalten_Name3"
FROM "Tabellen_Name2"
WHERE "Bedingung");

[Vergleichsoperator] kann ein Gleichungszeichen wie =, >, <, >=, <= sein. Auch ein Textoperator wie "LIKE" ist möglich.

Wir verwenden das gleiche Beispiel wie für die SQL-Joins,

Tabelle Store_Information

 Store_Name   Sales   Txn_Date 
 Los Angeles  1500   05.Jan.1999 
 San Diego  250   07.Jan.1999 
 Los Angeles  300   08.Jan.1999 
 Boston  700   08.Jan.1999 

Tabelle Geography

 Region_Name  Store_Name 
 East  Boston 
 East  New York 
 West  Los Angeles 
 West  San Diego 

und möchten nun mit Hilfe einer Unterabfrage die Umsätze aller Warenhäuser in der Region West ermitteln. Dazu verwenden wir folgende SQL-Anweisung:

SELECT SUM(Sales) FROM Store_Information
WHERE Store_Name IN
(SELECT Store_Name FROM Geography
WHERE Region_Name = 'West');

Ergebnis:

SUM(Sales)
2050

In diesem Beispiel werden die beiden Tabellen nicht direkt verknüpft, um dann nur die Umsätze für die Warenhäuser in der westlichen Region zu addieren, sondern wir ermitteln erst mit der Unterabfrage, welche Warenhäuser zur Region West gehören und addieren anschließend die entsprechenden Umsätze. 

SQL UNION >>

Diese Seite wurde zuletzt am 26.06.2022 aktualisiert




Copyright © 2022   1keydata.com   Alle Rechte vorbehalten