Unterrichtsmaterialien für den Informatikunterricht

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