Könnte mir bitte jemand diesen SQL-Befehl erklären?
Könnte mir bitte jemand diesen SQL-Befehl erklären, vor allem den Part ab dem WHERE?
Select DISTINCT Vorname, Nachname, Handynr, GefahreneKilometer
FROM Kunde, leihtAus
WHERE Kunde.Kundennr = leihtAus.Kunde AND GefahreneKilometer › 6
1 Antwort
![](https://images.gutefrage.net/media/user/LeBonyt/1553190555784_nmmslarge__5_5_160_160_23469c76ccd9796e9cb38ca6b6f0ac87.png?v=1553190556000)
Ich habe zur genauern Beschreibung mir das von phind erklären lassen und meinem Wissen gegen gepüft:
Die korrigierte SQL-Anweisung, um einzigartige `Vorname`, `Nachname`, `Handynr` aus der Tabelle `Kunde` und `GefahreneKilometer` aus der Tabelle `leihtAus` zu selektieren, wobei `Kunde.Kundennr` gleich `leihtAus.Kunde` ist und `GefahreneKilometer` größer als 6 ist, sollte wie folgt aussehen:
SELECT DISTINCT Kunde.Vorname, Kunde.Nachname, Kunde.Handynr, leihtAus.GefahreneKilometer
FROM Kunde
JOIN leihtAus ON Kunde.Kundennr = leihtAus.Kunde
WHERE leihtAus.GefahreneKilometer > 6;
Diese Anweisung führt Folgendes aus:
- Verbindet die Tabelle `Kunde` mit der Tabelle `leihtAus` basierend auf der Bedingung, dass `Kunde.Kundennr` mit `leihtAus.Kunde` übereinstimmt.
- Filtert die Ergebnisse, um nur Zeilen einzuschließen, bei denen `GefahreneKilometer` größer als 6 ist.
- Wählt einzigartige Kombinationen von `Vorname`, `Nachname`, `Handynr` aus der Tabelle `Kunde` und `GefahreneKilometer` aus der Tabelle `leihtAus` aus.
Die Verwendung von `JOIN` anstelle eines kommagetrennten Listen von Tabellen im `FROM`-Teil der Anweisung ist korrekt, da Sie versuchen, Zeilen aus zwei verschiedenen Tabellen basierend auf einer Bedingung zu kombinieren, die sie miteinander in Beziehung setzt.
![](https://images.gutefrage.net/media/user/LeBonyt/1553190555784_nmmslarge__5_5_160_160_23469c76ccd9796e9cb38ca6b6f0ac87.png?v=1553190556000)
Wäre es ein Fehler noch mal leihtAus in From rein zu schreiben?