inden Sie die Seiten der Lieferanten, die jedes Teil liefe
3 Tabellen: Lieferanten (sid, sname, address), Teile (pid, pname, color), Katalog (sid, pid, cost)
ie Antwort, um alle Lieferanten zu finden, die jedes Teil liefern, lautet:
SELECT C.sid
FROM Catalog C
WHERE NOT EXISTS (
SELECT P.pid
FROM Parts P
WHERE NOT EXISTS (
SELECT C1.sid
FROM Catalog C1
WHERE C1.sid = C.sid
AND C1.pid = P.pid
)
)
Kann mir jemand diese Antwort erklären? Ich bin nur ein bisschen verloren!
Ich habe gehört, dass es erklärt wurde: "Finden Sie Lieferanten, bei denen es keinen Teil gibt, den sie nicht verkaufen", aber ich habe Mühe zu sehen, wie
SELECT C1.sid
FROM Catalog C1
WHERE C1.sid = C.sid
AND C1.pid = P.pid
)
Erreicht das.
Also wenn ich ein @ ha
Catalog Table
James | Hamme
James | Ambos
James | Schlüsse
Henry | Hamme
Leroy | Ambos
Part Table
Hamme
Ambos
Schlüsse
Was wird dann nach der innersten Klausel genau zurückgegeben?
Ist e
James | Hamme
James | Ambos
James | Schlüsse
Henry | Hamme
Leroy | Ambos
und dann NICHT EXISTEN macht es
James | -
Henry | Amboss, Schraubenschlüssel
Leroy | Hammer, Schraubenschlüssel?
Wie subtrahiert die Teiletabelle dann diese Werte? Es tut mir leid, wenn diese Fragen nicht klar sind. Ich bin noch neu in SQL.