# Mehrfachschachtelung SELECT



## b1zarRe (22. Nov 2011)

Hi,

ich erlerne neuerdings SQL(mit ACCESS) und bald auch SQL in Verbindung mit Java.
Ich habe soweit die Grundlagen halbwegs drin (so gut es geht, nach 2-3 Wochen), nur bereiten mir die Mehrfachschachtelungen immer wieder Probleme....

Eine Übung war diese hier:
http://www8.pic-upload.de/22.11.11/g4jdkij9numz.jpg

Meine Überlegung dazu warIch gehe da immer von unten nach oben heran... bessere tipps?!)

Im 3. select wird gesagt: das er alles anzeigen soll aus bestelldetails wo die bestellnr mit bestellungen bestellnr übereinstimmt sowie bestelldetails mit artikel über artikel nr. sprich die bestelldetails mit einem bestellungen, artikel, bestelldetails join.

im 2. select will er alles haben, was kategoriename = gewürze hat und ein join zwischen kategorie und artikel und die datensätze die NICHT denen entsprechen die ich im 3. select erwähnt hab.

im 1. select will er alles aus bestellungen haben von genau gegenteiligen sachen die ich ausm 2. select aufgezählt habe.

Meiner logik nach heißt das nun:
er will alles aus bestellungen haben, also alle datensätze die nicht aus gewürze stammen (kategoriename) keinen gültigen bestellungen, artikel, bestelldetails join -> also alle datensätze die nocht nicht bestellt wurden und  die nicht aus der kategorie gewürze stammen. 

stimmt das?! Bzw. wie geht ihr bei ANY, EXISTS, ALL etc. mit mehren Schachtelungen vor??


----------



## Gast2 (22. Nov 2011)

Hm, ich denke das was du beschreibst wäre eher was wie NOT IN. So hörts sich zumindest an.
EXISTS gibt genau dann true zurück, wenn das query mindestens eine Reihe zurückgibt.


----------



## b1zarRe (24. Nov 2011)

Oder kann man das vielleicht so sehen, dass es quasi eine Art doppelt Negation ist und es sich somit logisch aufhebt???


----------

