From (SQL)
Die FROM-Klausel in SQL definiert die Zeilenmenge aus einer oder mehrerer Tabellen für die Anweisungen der Datenbearbeitungssprache DML.
Als reserviertes Wort im SQL-Standard lautet die allgemeine Form einer Abfrage:[1] [2]
SELECT
SpaltennameFROM
Tabellenname [WHERE
Bedingung]
Die FROM
-Klausel gibt die Tabellen für zu löschende Zeilen innerhalb von Delete-Anweisungen an und defniert die Tabellen für Abfragen in Subqueries von Update-Anweisungen.
Die FROM
-Klausel kann in der Regel alles sein, was ein Zeilenset liefert: eine Tabelle, eine Sicht (Datenbank) (auch View genannt) oder aber auch ein Informationsschema, welches proprietäre Befehle aussendet und die Information als Tabelle wiedergibt. [3]
Beispiele
Die folgende Abfrage gibt nur diejenigen 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)
FROM ohne SELECT
Die FROM
-Klausel ist in der relationalen Algebra zwingend notwendig und meistens auch nützlich.
Es gibt jedoch DBMS welche diese Klausel nicht benötigen um einen einzelnen Wert oder auch eine einzelne Zeile auszugeben. In Datenbanksystem von Oracle funktioniert dies z.B. über die sogenannte Dual Table": [4]
SELECT 3.14 AS Kreiszahl
Andere Systeme erfordern jedoch auch hier ein Schlüsselwort (auch Keword genannt) um die betreffende Daten auszuwählen: [5]
SELECT to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Aktuelle Zeit"
FROM dual;
Einzelnachweise
- ↑ From clause in Transact SQL.
- ↑ Reserved Words in SQL.
- ↑ System Information Schema Views (Transact-SQL).
- ↑ Selecting from the DUAL Table.
- ↑ Oracle Dates and Times.
[[Kategorie:SQL]]