Frage №22
Verbleibend:
Erkläre den Unterschied zwischen INNER JOIN und OUTER JOIN
Musterantwort
Antwort standardmäßig anzeigen
INNER JOIN:
- Liefert nur die Datensätze, für die es in beiden verknüpften Tabellen einen Treffer gibt.
- Gibt es keinen Treffer, taucht der Datensatz nicht im Ergebnis auf.
Beispiel:
MySQL 8.1SELECT * FROM employees e INNER JOIN departments d ON e.department_id = d.id;
OUTER JOIN:
- Liefert sowohl Datensätze mit Treffer als auch Datensätze aus einer der Tabellen, für die es keinen passenden Eintrag gibt.
Arten von OUTER JOIN:
LEFT OUTER JOIN (LEFT JOIN):
- Liefert alle Datensätze aus der linken Tabelle und die passenden Datensätze aus der rechten Tabelle.
- Gibt es keinen Treffer, sind die Spalten der rechten Tabelle NULL.
Beispiel:
MySQL 8.1SELECT * FROM employees e LEFT JOIN departments d ON e.department_id = d.id;
RIGHT OUTER JOIN (RIGHT JOIN):
- Liefert alle Datensätze aus der rechten Tabelle und die passenden Datensätze aus der linken Tabelle.
- Gibt es keinen Treffer, sind die Spalten der linken Tabelle NULL.
Beispiel:
MySQL 8.1SELECT * FROM employees e RIGHT JOIN departments d ON e.department_id = d.id;
FULL OUTER JOIN (FULL JOIN):
- Liefert alle Datensätze, sobald es in einer der Tabellen einen Treffer gibt.
- Fehlt der Treffer auf der jeweils anderen Seite, sind die entsprechenden Spalten NULL.
MySQL 8.1SELECT * FROM employees e FULL OUTER JOIN departments d ON e.department_id = d.id;