From (SQL)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 8. Februar 2019 um 23:39 Uhr durch imported>Wiegels(10164) (Weiterleitungsauflösung).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die FROM-Klausel in SQL definiert die Verwendung einer oder mehrerer Tabellen in einer Abfrage. Als reserviertes Wort im SQL-Standard lautet die allgemeine Form einer Abfrage:[1][2]

SELECT Spaltenname FROM 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.[3]

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:[4]

SELECT 3.14 AS Kreiszahl

Andere Systeme erfordern jedoch auch hier ein Schlüsselwort (auch Keyword genannt) um die betreffende Daten auszuwählen:[5]

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:[6]

SELECT @@version

Eine UPDATE-Anweisung ohne Unterabfrage benötigt keine FROM-Klausel:[7]:

UPDATE t1 SET col1 = col1 + 1

Siehe auch

Einzelnachweise

  1. Microsoft: From clause in Transact SQL. Abgerufen am 3. Dezember 2018.
  2. Drupal: Reserved Words in SQL. Abgerufen am 3. Dezember 2018.
  3. Microsoft: System Information Schema Views (Transact-SQL). Abgerufen am 3. Dezember 2018.
  4. Oracle: Selecting from the DUAL Table. Abgerufen am 3. Dezember 2018.
  5. Infolab Stanford University: Oracle Dates and Times. Abgerufen am 3. Dezember 2018.
  6. Sybase: Sybooks Online: Chapter 2: SQL Language Elements: Global variables. Abgerufen am 3. Dezember 2018.
  7. MySQL: UPDATE Syntax. Abgerufen am 3. Dezember 2018.