Informatik Datenbanken – SQL-Joins und Mengenoperationen
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Was liefert ein INNER JOIN zurück? · Wann verwendet man LEFT JOIN statt INNER JOIN?
Karten
15 KartenWas liefert ein INNER JOIN zurück?
Rückseite
Nur Datensätze, die in beiden Tabellen über die Join-Bedingung matchen – alle nicht passenden Zeilen werden verworfen.
Wann verwendet man LEFT JOIN statt INNER JOIN?
Rückseite
Wenn alle Zeilen der linken Tabelle erhalten bleiben sollen, auch ohne Match in der rechten Tabelle (NULL-Werte rechts).
Was ist der Unterschied zwischen LEFT und RIGHT JOIN?
Rückseite
LEFT JOIN behält alle Zeilen der ersten (linken) Tabelle, RIGHT JOIN alle der zweiten (rechten) – logisch äquivalent durch Tabellenvertauschung.
Was macht ein FULL OUTER JOIN?
Rückseite
Vereinigt LEFT und RIGHT JOIN: alle Zeilen beider Tabellen, Matches werden verknüpft, Nicht-Matches mit NULL aufgefüllt.
Wie unterscheidet sich CROSS JOIN von INNER JOIN?
Rückseite
CROSS JOIN bildet das kartesische Produkt (jede Zeile mit jeder) ohne Bedingung – INNER JOIN filtert über ON/WHERE.
Was bewirkt ein SELF JOIN?
Rückseite
Eine Tabelle wird mit sich selbst gejoint (via Aliase), um hierarchische oder rekursive Beziehungen abzubilden (z. B. Mitarbeiter–Vorgesetzter).
Wann sind NATURAL JOINS problematisch?
Rückseite
Sie joinen automatisch über alle gleichnamigen Spalten – Schemaänderungen brechen stillschweigend die Logik, explizite ON-Klauseln sind sicherer.
Was macht UNION im Gegensatz zu UNION ALL?
Rückseite
UNION entfernt Duplikate aus dem Ergebnis (teurer), UNION ALL behält alle Zeilen bei (schneller, oft erwünscht).
Welche Voraussetzung gilt für Mengenoperationen (UNION, INTERSECT, EXCEPT)?
Rückseite
Beide SELECTs müssen gleiche Spaltenanzahl, kompatible Datentypen und gleiche Spaltenreihenfolge haben.
Was liefert INTERSECT zurück?
Rückseite
Nur Zeilen, die in beiden Ergebnismengen identisch vorkommen – Schnittmenge zweier Abfragen.
Wofür steht EXCEPT (bzw. MINUS in Oracle)?
Rückseite
Differenzmenge: Zeilen aus der ersten Abfrage, die nicht in der zweiten vorkommen.
Wie verhält sich NULL bei JOIN-Bedingungen?
Rückseite
NULL = NULL ist UNKNOWN (nicht TRUE) – Zeilen mit NULL in Join-Spalten matchen nie, außer explizit mit IS NULL geprüft.
Was ist ein Anti-Join und wie wird er umgesetzt?
Rückseite
Liefert Zeilen ohne Gegenstück: LEFT JOIN + WHERE rechteTabelle.spalte IS NULL (oder NOT EXISTS / NOT IN).
Warum kann JOIN vor WHERE performanter sein als Unterabfrage?
Rückseite
Der Optimizer kann Join-Reihenfolge und Indizes besser nutzen; moderne DBs transformieren oft automatisch, aber explizite JOINs sind lesbarer.
Was passiert bei JOIN über mehrere Spalten (Komposit-Schlüssel)?
Rückseite
Die ON-Klausel verknüpft alle Schlüsselspalten mit AND – nur bei Übereinstimmung aller Spalten entsteht ein Match.