Lernziel

Ich kann mit dem SELECT-Befehl Unterabfragen in INSERT-, UPDATE- und DELETE-Befehle einbinden.

Beispiel-Daten

https://sql.kemet.ch/downloads/

Aufgabe #1

Abfüllen der Tabelle `Buch_Autor` mit Buch-Autor-Beziehungen.

Notizen

  • SELECT FROM
  • WHERE
  • INSERT INTO

Beispiele

  • "Der kleine Prinz" wurde von "Antoine de Saint-Exupéry" verfasst.
  • "Terry Pratchett" hat "Good Omens" geschrieben.
            
-- Der kleine Prinz
INSERT INTO Buch_Autor VALUES (

  (SELECT Buch_ID FROM Buch
    WHERE ISBN = '9780156012195'),

  (SELECT Autor_ID FROM Autor
  WHERE Nachname = 'de Saint-Exupéry')

);
            
          

Aufgabe #2

Kunde leiht heute ein Buch aus (`Buch_Kunde`).

Notizen

  • Wie erhält man das heutige Datum?
            
INSERT INTO
  Buch_Kunde (fk_Buch_ID, fk_Kunde_ID, Startdatum)
VALUES (
  
  (SELECT Buch_ID FROM Buch
    WHERE ISBN = '9780156012195'),
  
  (SELECT Kundennummer FROM Kunde
    WHERE Vorname = 'Lewis'
      AND Nachname = 'Hamilton'),
  
  DATE('now')

);
            
          

Aufgabe #3

Fehler korrigieren: Ausleih-Einträge müssen entfernt werden (`Buch_Kunde`).

Notizen

  • DELETE
  • Wie kann man kontrollieren, dass das richtige gelöscht wird?
            
SELECT * FROM Buch_Kunde WHERE fk_Kunde_ID = (
  SELECT Kundennummer FROM Kunde WHERE Vorname = 'Lewis'
);
            
          
            
DELETE FROM Buch_Kunde WHERE fk_Kunde_ID = (
  SELECT Kundennummer FROM Kunde WHERE Vorname = 'Lewis'
);
            
          

Aufgabe #4

Ausgeliehene Bücher wurden gestern zurückgegeben (`Buch_Kunde`).

Notizen

  • UPDATE
  • SET
  • Wie erhält man das Datum von gestern?
            
UPDATE Buch_Kunde

  SET Enddatum = DATE('now', '-1 day')

  WHERE fk_Buch_ID = (
    SELECT Buch_ID FROM Buch WHERE Titel = 'Good Omens'
  )

  AND fk_Kunde_ID = (
    SELECT Kundennummer FROM Kunde
      WHERE Vorname = 'Lewis'
      AND Nachname = 'Hamilton'
  )
;
            
          
Aufgabe #1

Abfüllen der Tabelle `Buch_Autor` mit Buch-Autor-Beziehungen.


Aufgabe #2

Kunde leiht heute ein Buch aus (`Buch_Kunde`).


Aufgabe #3

Fehler korrigieren: Ausleih-Einträge müssen entfernt werden (`Buch_Kunde`).


Aufgabe #4

Ausgeliehene Bücher wurden gestern zurückgegeben (`Buch_Kunde`).