SQL: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Artikel begonnen)
 
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:


== Abfragen ==
== Abfragen ==
SQL-Abfragen beginnen mit dem Schlüsselwort <code>[[Projektion (Relationenalgebra)|SELECT]]</code>:<syntaxhighlight lang="sql">
SQL-Abfragen beginnen mit dem Schlüsselwort <code>[[Projektion (Relationenalgebra)|SELECT]]</code>:<syntaxhighlight lang="sql" line="1">
SELECT spalten
SELECT spalten
FROM relation;
FROM relation;
</syntaxhighlight>Diese Anfrage liefert alle ausgewählten [[Attribut (Informatik)|Spalten]] aus der angegebenen Relation zurück. Um alle Spalten einer Relation zu erhalten, schreibt man<syntaxhighlight lang="sql" line="1">
SELECT *
FROM relation;
</syntaxhighlight>Mit dem Schlüsselwort <code>WHERE</code> können Bedingungen gestellt werden, nach denen die Ergebnisse gefiltert werden:<syntaxhighlight lang="sql" line="1">
SELECT spalten
FROM relation
WHERE bedingung;
</syntaxhighlight>Mit <code>AND</code> und <code>OR</code> können mehrere Bedingungen verknüpft werden. Negiert werden Bedingungen mit <code>NOT</code>.
{{Hinweisbaustein|INHALT=Anders als in den meisten Programmiersprachen wird in SQL nicht <code>==</code> zum Abfragen der Gleichheit verwendet, sondern <code>=</code>!|ICON=[[File:Achtung.svg|32px]]}}
Es können mehrere Relationen mit Kommata getrennt angegeben werden. In diesem Fall wird ein [[Kreuzprodukt]] gebildet und alle Tupel aus allen Relationen miteinander verknüpft. Darum sollte in diesem Fall unbedingt mit <code>WHERE</code> sichergestellt werden, dass die Tupel sinnvoll verknüpft werden und die Ergebnismenge nicht unhandlich wird.
Bei gleichnamigen Spalten muss zusätzlich die Relation angegeben werden, deren Spalte betrachtet werden soll. Die Schreibweise ist <code>relation.spalte</code>. In allen anderen Fällen kann die Relation ebenfalls angegeben werden, muss aber nicht. <syntaxhighlight lang="sql" line="1">
SELECT spalten
FROM relation1, relation2
WHERE relation1.spalteX = relation2.spalteY
AND weitereBedingungen;
</syntaxhighlight>{{Lückenhaft}}
</syntaxhighlight>{{Lückenhaft}}



Version vom 6. Februar 2023, 15:17 Uhr

SQL (ausgesprochen "Eskuel" von normalen Menschen, "sikwel" von anstrengenden Menschen und "squirrel" von verstörenden Menschen) ist eine Datenbanksprache, mit der Datenbanken aufgebaut und bearbeitet werden können.

Eine SQL-Datenbank besteht aus zwei Komponenten:

  1. dem SQL-Server, auf dem die Daten in Relationen gespeichert sind, und
  2. dem SQL-Client, der an den Server Anfragen schickt, um die Daten abzufragen oder zu bearbeiten.

Die Anfragen, die der Client schicken kann, lassen sich in drei Kategorien unterteilen:

  1. Abfragen an den Datenbestand.
  2. Bearbeitungen am Datenbestand, d.h. Operationen zum Einfügen, Ändern und Löschen von Daten
  3. Bearbeitungen an der Datenbankstruktur, d.h. Operationen zum Erstellen, Ändern und Löschen der Tabellen

Abfragen

SQL-Abfragen beginnen mit dem Schlüsselwort SELECT:

SELECT spalten
FROM relation;

Diese Anfrage liefert alle ausgewählten Spalten aus der angegebenen Relation zurück. Um alle Spalten einer Relation zu erhalten, schreibt man

SELECT *
FROM relation;

Mit dem Schlüsselwort WHERE können Bedingungen gestellt werden, nach denen die Ergebnisse gefiltert werden:

SELECT spalten
FROM relation
WHERE bedingung;

Mit AND und OR können mehrere Bedingungen verknüpft werden. Negiert werden Bedingungen mit NOT.

Es können mehrere Relationen mit Kommata getrennt angegeben werden. In diesem Fall wird ein Kreuzprodukt gebildet und alle Tupel aus allen Relationen miteinander verknüpft. Darum sollte in diesem Fall unbedingt mit WHERE sichergestellt werden, dass die Tupel sinnvoll verknüpft werden und die Ergebnismenge nicht unhandlich wird.

Bei gleichnamigen Spalten muss zusätzlich die Relation angegeben werden, deren Spalte betrachtet werden soll. Die Schreibweise ist relation.spalte. In allen anderen Fällen kann die Relation ebenfalls angegeben werden, muss aber nicht.

SELECT spalten
FROM relation1, relation2
WHERE relation1.spalteX = relation2.spalteY
AND weitereBedingungen;
🕳
Lückenhaft

In diesem Artikel oder Abschnitt fehlen noch wichtige Informationen.

Hilf dem KGS-Wiki, indem du sie recherchierst und einfügst.

Datenbestand bearbeiten

Datenbank aufbauen