SQL Unterabfrage



SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Funktionen
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL JOIN
SQL OUTER JOIN
SQL Unterabfrage
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL Kaskadieren
SQL SUBSTRING
SQL TRIM


Seitenübersicht




  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 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 >>




Copyright © 2013   1keydata.com   Alle Rechte vorbehalten.