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
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.
Wäre es ein Fehler noch mal leihtAus in From rein zu schreiben?