Differenza tra query annidata e query semplice

di il
1 risposte

Differenza tra query annidata e query semplice

Salve ragazzi ho un dubito in un esercizio dove queste sono le tabelle:
 Suppliers(sid(chiave),sname,address)
Parts(pid(chiave),pname,color)
Catalog(sid(chiave esterna),pid(chiave esterna),cost)
la traccia dice Trova i sid dei supplier che forniscono qualche part Red oppure sono al “221 Parcker Street

la mia soluzione è stata :
SELECT sid
 FROM Suppliers,Parts,Catalogs
WHERE color="red" AND address=221 Parcker Street AND Suppliers.sid=Catalog.sid AND Parts.pid=Catalog.pid
mentre nella slide della mia prof viene proposta un'altra soluzione che a mio avviso fa la stessa identica cosa ma non sono completamente sicuro
questa è la sua soluzione:

SELECT S.sid
FROM Supplier AS S
WHERE S.address=‘221 Parker Street’
OR S.sid IN (SELECT C.sid
FROM Parts AS P, Catalog AS C
WHERE P.color=‘red’ AND P.pid=C.pid);

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte