1.Leicht
Ein INNER JOIN liefert:
- AAlle Zeilen aus beiden Tabellen
- BAlle Zeilen aus der linken Tabelle, mit NULL, wo es keine Übereinstimmung gibt
- CNur Zeilen mit übereinstimmenden Werten in beiden Tabellen
- DZeilen, die nicht übereinstimmen
2.Leicht
Welche Anweisung entfernt Zeilen aus einer Tabelle?
- ATRUNCATE COLUMN
- BDELETE
- CREMOVE
- DDROP
3.Leicht
Was bewirkt GROUP BY in einer Abfrage?
- AEs sortiert die Zeilen des Ergebnisses alphabetisch
- BEs verbindet zwei Tabellen über ihre gemeinsamen Spalten
- CEs fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
- DEs entfernt Zeilen mit NULL-Werten
4.Mittel
Wann ist WHERE EXISTS (Unterabfrage) für eine Zeile wahr?
- AWenn die Unterabfrage eine Zahl größer als null liefert
- BWenn die Unterabfrage keine NULL-Werte liefert
- CWenn die Unterabfrage mindestens eine Zeile liefert
- DWenn die Unterabfrage genau eine Zeile liefert
5.Mittel
Was liefert EXCEPT (in Oracle MINUS genannt)?
- AAlle Zeilen beider Abfragen ohne Duplikate
- BZeilen, die in beiden Abfragen vorkommen
- CZeilen der ersten Abfrage, die in der zweiten nicht vorkommen
- DZeilen der zweiten Abfrage, die in der ersten nicht vorkommen
6.Mittel
Was ist ein Datenbank-Trigger?
- AEine geplante Sicherung der Datenbank
- BEine Abfrage, die ein Benutzer von Hand ausführt
- CEine Art Index, der Suchen beschleunigt
- DCode, der automatisch ausgeführt wird, wenn ein festgelegtes Ereignis wie INSERT, UPDATE oder DELETE an einer Tabelle eintritt
7.Schwer
Warum ist SELECT dept, name, COUNT(*) FROM emp GROUP BY dept in Standard-SQL ungültig?
- ACOUNT(*) kann nicht zusammen mit GROUP BY verwendet werden
- Bdept muss innerhalb einer Aggregatfunktion stehen
- CGROUP BY muss alle Spalten der Tabelle aufführen
- Dname ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe
8.Schwer
Warum verwendet man nach customers LEFT JOIN orders COUNT(o.id) statt COUNT(*), um die Bestellungen pro Kunde zu zählen?
- ACOUNT(*) zählt bei Kunden ohne Bestellungen die mit NULL gefüllte Zeile als 1
- BCOUNT(*) ignoriert Zeilen mit NULL-Werten
- CCOUNT(o.id) zählt nur verschiedene Kunden
- DCOUNT(*) ist nach einem Join nicht erlaubt
Lösungsschlüssel
- 1. C · Nur Zeilen mit übereinstimmenden Werten in beiden Tabellen
- 2. B · DELETE
- 3. C · Es fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
- 4. C · Wenn die Unterabfrage mindestens eine Zeile liefert
- 5. C · Zeilen der ersten Abfrage, die in der zweiten nicht vorkommen
- 6. D · Code, der automatisch ausgeführt wird, wenn ein festgelegtes Ereignis wie INSERT, UPDATE oder DELETE an einer Tabelle eintritt
- 7. D · name ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe
- 8. A · COUNT(*) zählt bei Kunden ohne Bestellungen die mit NULL gefüllte Zeile als 1
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.