ThomasACSQL
Grünschnabel
Hallo
ich beschäftige mich derzeit in einem einfachen DBS mit elementaren SQL-Abfragen. Dabei bin ich auf die JOIN-Abfrage gestoßen, die immer wieder verwendet wird. Die grundlegende Funktionalität ist klar, jedoch erschließt es mir bisher nicht, welchen Vorteil mir die Nutzung von "Inner Join ... On" im Vergleich zu einer einfachen Where Bedingung bringt.
Folgendes Minimalbeispiel soll dies verdeutlichen:
Ich habe zwei Tabellen:


und möchte nun die Kreditkartendaten mit entsprechenden Rechnungen ausgeben. Die SQL-Abfrage
SELECT RechnungsNr, KundenNr, Betrag, Rechnungen.Kartennummer, Firma, Inhaber, Ablaufdatum
FROM Kreditkarte
INNER JOIN Rechnungen ON Kreditkarte.Kartennummer = Rechnungen.Kartennummer;
liefert das gewünschte Ergebnis:

Genaudasselbe Ergebnis erhalte ich aber auch mit der bekannten WHERE-Klausel:
Wobei letzteres aus meiner Sicht sogar leichter verständlich ist. Gibt es Beispiele in denen Inner-.JOIN tatsächlich einen Vorteil gegenüber der Verwendung von Where bietet?
Vielen Dank
T.
ich beschäftige mich derzeit in einem einfachen DBS mit elementaren SQL-Abfragen. Dabei bin ich auf die JOIN-Abfrage gestoßen, die immer wieder verwendet wird. Die grundlegende Funktionalität ist klar, jedoch erschließt es mir bisher nicht, welchen Vorteil mir die Nutzung von "Inner Join ... On" im Vergleich zu einer einfachen Where Bedingung bringt.
Folgendes Minimalbeispiel soll dies verdeutlichen:
Ich habe zwei Tabellen:


und möchte nun die Kreditkartendaten mit entsprechenden Rechnungen ausgeben. Die SQL-Abfrage
SELECT RechnungsNr, KundenNr, Betrag, Rechnungen.Kartennummer, Firma, Inhaber, Ablaufdatum
FROM Kreditkarte
INNER JOIN Rechnungen ON Kreditkarte.Kartennummer = Rechnungen.Kartennummer;

Genaudasselbe Ergebnis erhalte ich aber auch mit der bekannten WHERE-Klausel:
SELECT RechnungsNr, KundenNr, Betrag, Rechnungen.Kartennummer, Firma, Inhaber, Ablaufdatum
FROM Kreditkarte, Rechnungen
WHERE Kreditkarte.Kartennummer = Rechnungen.Kartennummer;
FROM Kreditkarte, Rechnungen
WHERE Kreditkarte.Kartennummer = Rechnungen.Kartennummer;
Wobei letzteres aus meiner Sicht sogar leichter verständlich ist. Gibt es Beispiele in denen Inner-.JOIN tatsächlich einen Vorteil gegenüber der Verwendung von Where bietet?
Vielen Dank
T.