Arbeitsblatt Datenbanken & SQL mit Lösungen

Kostenloses Arbeitsblatt Datenbanken & SQL zum Ausdrucken: 8 Aufgaben von leicht bis Prüfungsniveau, mit Lösungsschlüssel. Drucke es aus oder speichere es als PDF.

Neues ArbeitsblattOnline mit Tipps üben

Für Lehrkräfte: kostenlos ausdrucken, kopieren und im Unterricht verwenden. Jedes neue Arbeitsblatt hat neue Werte und einen eigenen Lösungsschlüssel. Über einen Link zu ExamProblems auf Ihrer Kursseite freuen wir uns.

Name: ____________________   Datum: ____________

1.Leicht

Was bewirkt eine CHECK-Constraint?

  1. ASie überprüft das Passwort des Benutzers
  2. BSie zählt die Zeilen einer Tabelle
  3. CSie weist Zeilen zurück, deren Werte eine Bedingung nicht erfüllen
  4. DSie prüft, ob eine Tabelle existiert, bevor eine Abfrage darauf ausgeführt wird
2.Leicht

Was liefert ein CROSS JOIN?

  1. ANur Zeilen, die nicht übereinstimmen
  2. BNur die Zeilen der ersten Tabelle
  3. CJede Kombination von Zeilen aus den beiden Tabellen
  4. DNur die Zeilen, die in einer gemeinsamen Schlüsselspalte übereinstimmen
3.Leicht

Welches SQL-Schlüsselwort entfernt doppelte Zeilen aus einem Ergebnis?

  1. ADISTINCT
  2. BUNIQUE
  3. CDIFFERENT
  4. DSINGLE
4.Mittel

Was bewirkt ROLLBACK TO SAVEPOINT s1?

  1. AEs macht die ganze Transaktion von Anfang an rückgängig
  2. BEs löscht den Savepoint und alle seitdem geänderten Tabellen
  3. CEs beendet die Transaktion und schreibt alles fest
  4. DEs macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
5.Mittel

Eine View (Sicht) in SQL ist:

  1. AEin Indextyp
  2. BEine Kopie einer Tabelle auf der Festplatte
  3. CEin Bildschirm im Datenbank-Client zum Durchsuchen von Tabellen
  4. DEine gespeicherte Abfrage, die sich wie eine virtuelle Tabelle verhält
6.Mittel

Welcher SQL-Klausel entspricht in der relationalen Algebra der Selektionsoperator (σ)?

  1. AWHERE
  2. BSELECT-Liste
  3. CGROUP BY
  4. DORDER BY
7.Schwer

Die Abfrage FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' lässt unerwartet Kunden ohne Bestellungen weg. Warum?

  1. ADer Join sollte USING statt ON verwenden
  2. Bstatus ist ein reserviertes Wort
  3. CDie WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
  4. DLEFT JOIN behält nie Zeilen ohne Treffer
8.Schwer

Warum ist SELECT dept, name, COUNT(*) FROM emp GROUP BY dept in Standard-SQL ungültig?

  1. AGROUP BY muss alle Spalten der Tabelle aufführen
  2. Bname ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe
  3. Cdept muss innerhalb einer Aggregatfunktion stehen
  4. DCOUNT(*) kann nicht zusammen mit GROUP BY verwendet werden

Lösungsschlüssel

  1. 1. C · Sie weist Zeilen zurück, deren Werte eine Bedingung nicht erfüllen
  2. 2. C · Jede Kombination von Zeilen aus den beiden Tabellen
  3. 3. A · DISTINCT
  4. 4. D · Es macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
  5. 5. D · Eine gespeicherte Abfrage, die sich wie eine virtuelle Tabelle verhält
  6. 6. A · WHERE
  7. 7. C · Die WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
  8. 8. B · name ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe

Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.