: Michael Laube
: Einstieg in SQL
: Rheinwerk Computing
: 9783836288170
: 3
: CHF 27.20
:
: Programmiersprachen
: German
: 616
: Wasserzeichen
: PC/MAC/eReader/Tablet
: ePUB

Den leichten Einstieg in SQL und die Datenmodellierung finden Sie hier! Schritt für Schritt führt Sie dieser Leitfaden durch den SQL-Befehlsschatz und macht Sie mit allen wichtigen Befehlen vertraut. Das Beherrschen der SQL-Befehle ist jedoch nur das Fundament. Darauf aufbauend lernen Sie, wie Sie Ihre Daten richtig modellieren, verknüpfen und bearbeiten. So schaffen Sie Ordnung und sorgen für performante Abfragen.

Aus dem Inhalt:

  • Gru dlagen kennenlernen und verstehen
  • Grundfunkti nen der Tabellenabfrage
  • Zeile einfügen, ändern und löschen (INSERT, UPDATE und DELETE)
  • Tabellen mit CREATE TABLE anlegen
  • Mengenoperati nen
  • Datenbanken modellieren
  • Datenmode le optimieren
  • Datenmodel e in Tabellen überführen
  • Beziehunge zwischen Tabellen: JOINs
  • Transaktionen
  • Skalarfunktionen
  • Bedingungslogik
  • Mit Zeit und Datum arbeiten
  • Spaltenwerte mit GROUP BY gruppieren
  • Unterabfra en
  • VIEWS: Abfragen in virtuellen Tabellen speichern
  • Performance optimieren

Die Fachpresse zur Vorauflage:
LINUX MAGAZIN: »Eine gründliche, verständliche und dabei auch gut lesbare Einführung in SQL.«



Michael Laube arbeitet im Bereich Logistik eines öffentlichen Auftraggebers. Zu seinen täglichen Aufgaben zählt es, Produktstammdaten zu verarbeiten und unterschiedliche Anforderungen im Bereich der Informatik zu koordinieren und umzusetzen. Er nutzt relationale Datenbanken und die Abfragesprache SQL, um die Produktstammdaten aufzubereiten und Anwendern zur Verfügung zu stellen. Außerdem entwickelt er als Sun Certified Java Programmer und Sun Certified Web Component Developer unternehmensweite Anwendungen.

2    Los geht’s: Die Grundfunktionen der Tabellenabfrage (SELECT)


Nachdem wir die Grundvoraussetzungen geschaffen haben, steige ich mit Ihnen in das Basiswissen ein. Sie werden sehen, es macht viel Spaß, mit SQL zu arbeiten.

Dieses Kapitel vermittelt Ihnen die Grundkenntnisse in SQL. Sie lernen, erste Abfragen zu formulieren und an die Datenbank zu senden, um Ergebnislisten zu erhalten.

2.1    Mit einer SELECT-Anweisung Tabellen abfragen


Wir beginnen mit einfachen SQL-Abfragen. Für den Einstieg stellen wir die Tabellemitarbeiter in den Fokus. Sie ist sehr einfach, aber wir können mit ihr schon viel unternehmen.

2.1.1    Die Tabelle »mitarbeiter«


Die Tabellemitarbeiter speichert Datensätze von Mitarbeitern eines Unternehmens. So stehen uns die Daten immer zentral in der Datenbank zur Verfügung, und wir können sie abrufen, wenn wir sie benötigen. Die Tabelle enthält Spalten, die den Mitarbeiter identifizieren (name,vorname,gebdatum), seinen Wohnort speichern (strasse,hausnummer,ort), die Bankdaten enthalten und noch einiges mehr.

Im Folgenden beschäftigen wir uns mit der ersten SQL-Anweisung, nämlich mit einer einfachen Abfrage.

2.1.2    Wie frage ich eine Tabelle ab? (SELECT ... FROM)


Wir beginnen mit der einfachsten aller Abfragen: Sie fragen die Spaltenname undvorname der Tabellemitarbeiter ab. Eine Auswahl von Spalten einer Tabelle wird dabei alsProjektion bezeichnet. Sie können es sich tatsächlich so vorstellen, dass die ausgewählten Spalten der Tabelle von der Datenbank in Tabellenform auf Ihren Rechner projiziert werden.

2.1.3    Spalten einer Tabelle abfragen


Unser Ziel ist es, die Spaltenname undvorname der Tabellemitarbeiter auszuwählen und abzufragen, um eine Ergebnistabelle mit den Werten zu erhalten. Wir beginnen mit dem SchlüsselwortSELECT, um eine Abfrage einzuleiten. InListing 2.1 sehen Sie eine vollständigeSELECT-Anweisung, wie Sie sie bereits verwendet haben:

SELECTname,vornameFROM mitarbeiter;

Listing 2.1     Unsere erste SELECT-Anweisung mit den ausgewählten Spalten »name« und »vorname« der Tabelle »mitarbeiter«

Hinter dem WortSELECT folgen die Spaltenbezeichnungen, die jeweils durch ein Komma separiert werden. Das SchlüsselwortFROM teilt der Datenbank mit, aus welcher Tabelle die Spalten abgefragt werden. Schließlich wird die Tabelle hinter derFROM-Klausel namentlich genannt. In unserem Beispiel handelt es sich um die Tabellemitarbeiter.

Als Ergebnis erhalten SieTabelle 2.1, in deren Zeilen die Namen und Vornamen der Mitarbeiter zu finden sind.

name

vorname

Müller

Ralf

Schneider

Petra

Klein

Thomas

Lang

Ute

Tabelle 2.1     Ergebnistabelle einer einfachen SELECT-Abfrage

Ausgabe der Abfragen

Der Übersichtlichkeit halber zeige ich Ihnen immer die ersten vier Zeilen einer Ergebnistabelle – es sei denn, es ist für das Verständnis erforderlich, mehr Zeilen anzuzeigen. Die Beispiele, die ich Ihnen erläutere, können Sie in deruebungsdatenbank jederzeit nachvollziehen.

Wenn Sie nur eine Spalte abfragen wollen, benötigen Sie natürlich kein Komma. Die nächsteSELECT-Anweisung enthält ausschließlich eine Spalte, die in der Spaltenauswahlliste einerSELECT-Abfrage ausgewählt wird. Als Ergebnis erhalten SieTabelle 2.2 zurück.

SELECTnameFROM mitarbeiter;

Listing 2.2     Eine Spalte einer Tabelle abfragen

name

Müller

Schneider

Klein

Lang

Tabelle 2.2     Ergebnistabelle für eine Spalte in der Spaltenauswahlliste

Sie können die Spalten natürlich in beliebiger Reihenfolge abfragen. So, wie Sie die Spalten in der Spaltenauswahlliste derSELECT-Anweisung angeben, werden sie auch in der Ergebnisliste zurückgeliefert. Die Spalten einer Tabelle können Sie auch doppelt abfragen, wenn es erforderlich ist. Vergessen Sie nicht das Komma, wenn es sich um mindestens zwei Spalten handelt.

SQL ist case-insensitive

Die Abfragesprache SQL istcase-insensitive. Das heißt, es spielt überhaupt keine Rolle, ob Sie eine SQL-Anweisung in Großbuchstaben, in Kleinbuchstaben oder auch gemischt notieren. Mit allen folgenden Beispielen erzielen Sie dasselbe Ergebnis:

SELECTname,vornameFROM mitarbeiter;
selectname,vornamefrom mitarbeiter;
sEleCtnAme,vorNamefRom mitaRbeiter;

2.1.4    Alle Spalten einer Tabelle abfragen


Wie sieht es aus, wenn Sie alle Spalten einer Tabelle mit einerSELECT-Anweisung abfragen wollen? Im umständlichsten Fall schreiben Sie alle Spalten der Tabelle in die Spaltenauswahlliste derSELECT-Anweisung. Je nach Anzahl der Spalten kann das sehr mühsam sein. SQL stellt dafür das Sternchen (*) (oderAsterisk, was schlicht und ergreifend »Sternchen« heißt) als Platzhalter für alle Spalten einer Tabelle bereit. Wählen Sie nun alle Spalten der Tabellemitarbeiter mit dem Asterisk wie folgt aus:

SELECT *FROM mitarbeiter;

Listing 2.3     Alle Spalten der Tabelle »mitarbeiter« abfragen

Sie erhalten alle Spalten der Tabellemitarbeiter zurück (sieheTabelle 2.3).

mitarbeiterid

name

vorname

gebdatum

1

Müller

Ralf

...