Skip to Content
HDatenbankenJoin-Befehle

Erklärvideo

Datenbank-Schema

Stellen wir uns im Folgenden vor, wir hätten zwei Tabellen mit folgenden Daten, die wir anhand der Gebäudenamen zusammenführen möchten.

buildings

building_namecapacity
1e24
1w32
2e16
2w20

employees

rolenamebuildingyears_employed
EngineerBecky A.1e4
EngineerDan B.1e2
EngineerSharon F.1e6
ManagerShirlee M.1e3
ArtistSherman D.2w8
ManagerDaria O.2w6
ArtistJakob J.3e6
ArtistBrandon J.3e7

Bei Datenbanken hat jede dieser Spalten einen fixen Datentypen. Man würde diese in einem sogenannten Schema darstellen, das so aussehen könnte:

svg alt tag

Einige Beobachtungen, damit Sie sehen, was hier alles dargestellt ist:

  • Boxen: Es gibt eine Tabelle buildings mit den Spalten building_name und capacity, sowie eine Tabelle employees mit den Spalten role, name, building und years_employed.
  • Datentypen rechts: Die Spalte capacity hat den Datentyp INTEGER und enthält demnach Ganzzahlen. Die Spalte building_name hat den Datentyp TEXT und speichert Zeichenketten. (Sie müssen die SQL-Datentypen nicht lernen.)
  • Pfeil: Die Tabelle employees hat eine Relation mit der Tabelle buildings. Genauer: Die Daten in der Spalte building in der Tabelle employees entsprechen den Daten in der Spalte building_name in der Tabelle buildings. Das Datenbanksystem kann solche Beziehungen überwachen und je nach Konfiguration sicherstellen, dass es keine Mitarbeiter geben kann, die einem Gebäude zugeordnet sind, das in der Tabelle buildings gar nicht existiert.
  • Schlüssel: Die Tabelle buildings hat eine Spalte building_name als Primärschlüssel. Das bedeutet, dass jeder Datensatz der Tabelle anhand von building_name eindeutig identifiziert werden kann. Ebenso hat employees die Spalte name als Primärschlüssel definiert. Das Datenbanksystem garantiert uns, dass es keine zwei Gebäude mit dem gleichen Namen oder zwei Angestellte mit exakt demselben Namen geben wird. (Das ist ganz offensichtlich keine sehr intelligente Wahl des Primärschlüssels…)
  • Beziehungstyp: Die Beziehung zwischen buildings und employees ist eine 1:n-Beziehung (one-to-many). Ein Gebäude kann mehrere Mitarbeiter haben, aber jeder Mitarbeiter arbeitet in genau einem Gebäude (oder in keinem, falls NULL erlaubt ist).

Mit SQL können Sie dem Datenbanksystem die mühselige Arbeit überlassen, diese Daten zusammenzuführen. Dazu brauchen Sie die JOIN-Befehlen, von denen es mehrere Varianten gibt. Ein Tipp: Wenn Sie sich die Gebäudenamen in einem Venn-Diagramm vorstellen, sind die Befehle einfacher verständlich.

svg alt tag

Gibt nur die Zeilen zurück, bei denen es in beiden Tabellen eine Übereinstimmung gibt. INNERist optional und ist nur vorhanden, damit Datenbanken auch mit früheren Versionen von SQL kompatibel bleiben.

inner-join-example
Loading...
Datenbank wird geladen...
Last updated on