MySQL und NOT EXISTS

Wang

Bekanntes Mitglied
Hallo allerseits,

ich habe leider einige Schwierigkeiten, die Funktionsweise von NOT EXISTS bei dieser Aufgabe nachzuvollziehen

screenshotia.png


Zunächst mal die Lösung zur (a), denn ich denke wenn ich die verstanden habe, sollte ich auch die (b) verstehen:

SQL:
SELECT lname
FROM L
WHERE NOT EXISTS (SELECT *
				FROM P
				WHERE ort='Berlin'
				AND NOT EXISTS (SELECT *
								FROM LTP
								WHERE L.lnr=LTP.lnr
								AND P.pnr=LTP.pnr));

Es wäre sehr nett, wenn hier jemand schreiben könnte, warum der obige Code zum gewünschten Ergebnis führt, denn ich stehe leider total auf der Strecke.

Danke für Eure Mühe!

Gruß
Wang
 

Wang

Bekanntes Mitglied
Jo, das hatte ich mir schon durchgelesen, leider stehe ich aber noch immer auf dem Schlauch...

NOT EXISTS liefert "true" zurück, wenn die Unterabfrage keine Datensätze ergibt; nachdem es aber in der Relation ''P" zwei Orte mit BERLIN gibt, liefert NOT EXISTS "false" zurück. Genau das bereitet mir am meisten Kopfschmerzen... Vielleicht kann jemand den SQL-Code bitte in Worte "übersetzen"...?
 

Neue Themen


Oben