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.

Folien



(letzte Synchronisation der PDF-Präsentation: 02.03.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload 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

MySQL-Code
  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:

MySQL-Code
  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:

MySQL-Code
  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:

MySQL-Code
  SELECT * FROM kunden k WHERE kunden.name = "Schmitt"; -- falsch!!  

Aliasse können Sie auch für Attribute verwenden, z.B.

MySQL-Code
  SELECT postleitzahl AS plz FROM orte  
oder, was genau das gleiche erzielen würde:
MySQL-Code
  SELECT orte.postleitzahl AS plz FROM orte  
oder mit Alias auch:
MySQL-Code
  SELECT o.postleitzahl AS plz FROM orte AS o  
Und nun noch die AS weglassen:
MySQL-Code
  SELECT o.postleitzahl plz FROM orte o  

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File 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)
MySQL-Code
SELECT ___________________ FROM kunde AS kundenliste WHERE kundenliste.ort_postleitzahl > 80000 -- ausgegeben werden sollen kunde_id, Name des Kunden und Postleitzahl des Kunden  

A2)
MySQL-Code
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)
MySQL-Code
-- 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)
MySQL-Code
-- 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