- Welche JOIN-Arten muss ich kennen?
- Vier: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. INNER JOIN gibt nur Zeilen zurueck, die in beiden Tabellen matchen. LEFT JOIN gibt alle Zeilen der linken Tabelle zurueck, plus passende rechts (oder NULL). RIGHT JOIN ist das Gegenteil. FULL OUTER JOIN gibt alle Zeilen aus beiden Tabellen zurueck. In der Klausur wirst du oft gefragt, welcher JOIN ein bestimmtes Ergebnis liefert.
- Was ist der Unterschied zwischen INNER und LEFT JOIN?
- INNER JOIN ignoriert Zeilen ohne Match komplett. LEFT JOIN behaelt alle Zeilen aus der linken Tabelle, auch wenn rechts kein Match existiert — die fehlenden Werte werden mit NULL gefuellt. Beispiel: Studenten LEFT JOIN Kurse zeigt auch Studenten ohne eingeschriebenen Kurs an. INNER JOIN wuerde diese rauslassen. In der Praxis: NULL-Werte in der Ergebnis-Spalte sind ein Hinweis auf einen LEFT JOIN.
- Wann brauche ich GROUP BY?
- Immer wenn du eine Aggregat-Funktion (COUNT, SUM, AVG, MIN, MAX) pro Gruppe berechnen willst. Beispiel: Anzahl Studenten pro Studiengang heisst SELECT studiengang, COUNT(*) FROM studenten GROUP BY studiengang. Faustregel: alle Spalten in SELECT, die nicht aggregiert sind, muessen in GROUP BY stehen. Filter auf das Aggregat-Ergebnis kommt mit HAVING, nicht WHERE.
- Wie modelliere ich ein ER-Diagramm?
- Drei Schritte: Entitaeten identifizieren ("die Dinge" wie Student, Kurs), Beziehungen zwischen ihnen einzeichnen ("belegt", "unterrichtet"), Kardinalitaeten festlegen (1:1, 1:N, N:M). Attribute werden den Entitaeten zugeordnet. Im naechsten Schritt uebersetzt man das in Tabellen — N:M-Beziehungen brauchen eine Hilfstabelle. In der Klausur wird oft ein Sachverhalt in Worten gegeben, du sollst das ER-Diagramm zeichnen.
- Welcher SQL-Dialekt ist in Klausuren Standard?