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_NameStore_Name
EastBoston
EastNew York
WestLos Angeles
WestSan 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 >>





Copyright © 2014   1keydata.com   Alle Rechte vorbehalten.