MySQL: Alias verwenden; Schlüsselwort AS
Video-Tutorial
Wenn Sie das Video nur anschauen, werden Sie kaum etwas lernen. Arbeiten Sie für den besten Lerneffekt am Rechner direkt mit und vollziehen Sie die Beispiele nach.
Beim Laden werden Daten an YouTube (Google) übertragen. · Auf YouTube ansehen
Folien
Falls keine PDF-Präsentation zu sehen ist: Direktdownload der PDF-Präsentation
Dies Folge setzt die Kenntnis folgender Inhalte voraus: JOINS - Abfragen über mehrere Tabellen in MySQL.
Aliasse sind Verknüpfungen zu Tabellen oder Attributen. Wenn Sie etwas schreiben wie
SELECT * FROM kunden AS k;
, dann können Sie auf die Tabelle kunden als "k" zugreifen (Sie haben ja sinngemäß festgelegt: "kunden als k behandeln"). Beispiel:
SELECT * FROM kunden AS k
WHERE k.name = "Schmitt";
Der Sinn der Verwendung eines Alias liegt darin, dass die Abfragen kürzer und übersichtlicher werden; außerdem können wir Aliasse später gut verwenden (siehe z.B. Subqueries).
Das Schlüsselwort "AS" können Sie weglassen:
SELECT * FROM kunden k
WHERE k.name = "Schmitt";
WICHTIG: - Wenn Sie einmal ein Alias definiert haben, können Sie den originalen Tabellennamen nicht mehr verwenden! Das hier wäre also falsch:
SELECT * FROM kunden k
WHERE kunden.name = "Schmitt"; -- falsch!!
Aliasse können Sie auch für Attribute verwenden, z.B.
SELECT postleitzahl AS plz FROM orte
oder, was genau das gleiche erzielen würde:
SELECT orte.postleitzahl AS plz FROM orte
oder mit Alias auch:
SELECT o.postleitzahl AS plz FROM orte AS o
Und nun noch die AS weglassen:
SELECT o.postleitzahl plz FROM orte o
Übungen
Zusätzliche Dateien (Bilder, Klassendiagramme, HTML-Vorlagen) finden Sie in der Materialsammlung. Diese Übungen können Sie als txt-Datei herunterladen.
Übungen: MySQL - SELECT: Alias
MySQL07_1: Verwendung von Aliassen - KUNDEN-einfach
Benutzen Sie für diese Übung diese Datenbank: 07mysql/_dumps/kunden/kunden-einfach.sql
Hier das zugehörige ER-Diagramm:
07mysql/_dumps/kunden/kunde_einfach_ERD.png
A) Ergänzen Sie folgende Statements und überprüfen Sie die Funktion:
A1)
SELECT ___________________ FROM kunde AS kundenliste WHERE kundenliste.ort_postleitzahl > 80000
-- ausgegeben werden sollen kunde_id, Name des Kunden und Postleitzahl des Kunden
A2)
SELECT o.name, k.name FROM ___________________ WHERE o.name LIKE '%n' AND o.postleitzahl = k.ort_postleitzahl
B) Korrigieren Sie die folgenden Statements, dass sie funktionieren.
B1)
-- Aliasse 'prfz' und 'hrgs' bitte nicht verändern!
SELECT kunde_id, kunde.name, ort.name FROM kunde AS hrgs JOIN ort AS prfz ON o.postleitzahl = k.ort_postleitzahl ORDER BY k.kunde_id
B2)
-- Fügen Sie die notwendigen Aliasse ein!
SELECT k.name, o.postleitzahl, o.name FROM kunde, ort WHERE k.name LIKE '%a%' AND o.name LIKE '%u%' AND k.ort_postleitzahl = o.postleitzahl