1.Leicht
Was macht UNION mit den Ergebnissen zweier SELECT-Abfragen?
- AEs behält nur Zeilen, die in der ersten Abfrage vorkommen, aber nicht in der zweiten
- BEs fasst sie zu einem Ergebnis zusammen und entfernt doppelte Zeilen
- CEs verbindet sie nebeneinander über einen Schlüssel
- DEs behält nur Zeilen, die in beiden vorkommen
2.Leicht
Was liefert ein CROSS JOIN?
- ANur die Zeilen, die in einer gemeinsamen Schlüsselspalte übereinstimmen
- BNur die Zeilen der ersten Tabelle
- CNur Zeilen, die nicht übereinstimmen
- DJede Kombination von Zeilen aus den beiden Tabellen
3.Leicht
Welches Schlüsselwort gibt einer Spalte oder Tabelle in einer Abfrage einen temporären Alternativnamen?
- AAS
- BNAME
- CALIAS
- DRENAME
4.Mittel
Welche Abfrage liefert die Anzahl der Bestellungen pro Kunde?
- ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- CSELECT DISTINCT COUNT(*) FROM orders
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
5.Mittel
Eine Tabelle employees hat eine Spalte manager_id, die auf einen anderen Mitarbeiter verweist. Wie listest du jeden Mitarbeiter neben dem Namen seines Vorgesetzten auf?
- ADie Tabelle mit sich selbst über UNION ALL und einen WHERE-Filter kombinieren
- BDie Tabelle employees mit sich selbst über zwei Aliase verbinden
- CNur GROUP BY manager_id verwenden
- DEine zweite Kopie der Tabelle auf der Festplatte anlegen
6.Mittel
Was bewirkt ROLLBACK TO SAVEPOINT s1?
- AEs macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
- BEs macht die ganze Transaktion von Anfang an rückgängig
- CEs beendet die Transaktion und schreibt alles fest
- DEs löscht den Savepoint und alle seitdem geänderten Tabellen
7.Schwer
Welche Isolationsstufe verhindert Dirty Reads, erlaubt aber weiterhin Non-Repeatable Reads?
- ARead committed
- BSerializable
- CRead uncommitted
- DRepeatable read
8.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?
- ALEFT JOIN behält nie Zeilen ohne Treffer
- Bstatus ist ein reserviertes Wort
- CDer Join sollte USING statt ON verwenden
- DDie WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
Lösungsschlüssel
- 1. B · Es fasst sie zu einem Ergebnis zusammen und entfernt doppelte Zeilen
- 2. D · Jede Kombination von Zeilen aus den beiden Tabellen
- 3. A · AS
- 4. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. B · Die Tabelle employees mit sich selbst über zwei Aliase verbinden
- 6. A · Es macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
- 7. A · Read committed
- 8. D · Die WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.