Die FROM-Klausel in der Datenbanksprache SQL definiert die Verwendung einer oder mehrerer Tabellen in einer Abfrage. Als reserviertes Wort im SQL-Standard lautet die allgemeine Form einer Abfrage:
SELECT
SpaltennameFROM
Tabellenname [WHERE
Bedingung]
Die FROM
-Klausel gibt die Tabellen für zu löschende Zeilen innerhalb von Delete-Anweisungen an und definiert die Tabellen für Abfragen in Unterabfragen (Subqueries) von Update-Anweisungen. Tabellen, Sichten (Views) oder aber auch Informationsschemata (allgemeine Datenbankinformationen) bilden die Grundlage für die FROM
-Klausel.
Beispiele
Gebe nur Zeilen der Tabelle meineTabelle aus mit Spaltenwerten von meineSpalte größer als 100:
SELECT *
FROM meineTabelle
WHERE meineSpalte > 100
Entferne alle Einträge der Tabelle Bäume mit einer Höhe kleiner als 80.
DELETE FROM Bäume
WHERE Höhe < 80;
Verwende die FROM
-Klausel in einer Unterabfrage (auch Subquery genannt), um die Bedingungen für die Auswahl von zu verändernden Zeilen zu definieren:
UPDATE T1
SET C1 = 2
WHERE C2 IN ( SELECT C3
FROM T2
WHERE C4 = 0)
Datenbankoperationen ohne FROM
Manche DBMS benötigen die FROM
-Klausel nicht, um einen einzelnen Wert oder eine einzelne Zeile auszugeben. In Datenbanksystem von Oracle funktioniert dies z. B. über die sogenannte DUAL Table:
SELECT 3.14 AS Kreiszahl
Andere Systeme erfordern jedoch auch hier ein Schlüsselwort (auch Keyword genannt) um die betreffende Daten auszuwählen:
SELECT to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Aktuelle Zeit"
FROM dual;
In Sybase benötigt die Ausgabe von globalen Variablen wie die verwendete Version keine FROM
-Klausel:
SELECT @@version
Eine UPDATE
-Anweisung ohne Unterabfrage benötigt keine FROM
-Klausel::
UPDATE t1 SET col1 = col1 + 1
Siehe auch
Einzelnachweise
- ↑ Microsoft: From clause in Transact SQL. Abgerufen am 3. Dezember 2018.
- ↑ Drupal: Reserved Words in SQL. Abgerufen am 3. Dezember 2018.
- ↑ Microsoft: System Information Schema Views (Transact-SQL). Abgerufen am 3. Dezember 2018.
- ↑ Oracle: Selecting from the DUAL Table. Abgerufen am 3. Dezember 2018.
- ↑ Infolab Stanford University: Oracle Dates and Times. Abgerufen am 3. Dezember 2018.
- ↑ Sybase: Sybooks Online: Chapter 2: SQL Language Elements: Global variables. Abgerufen am 3. Dezember 2018.
- ↑ MySQL: UPDATE Syntax. Abgerufen am 3. Dezember 2018.