[英]Are these SQL statements equal in terms of the output?
我是SQL新手。 這些SQL語句的輸出是否相等?
Suppliers
(sid:整數,sname:字符串,地址:字符串) Parts
(pid:整數,pname:字符串,color:字符串) Catalog
(sid:整數,pid:整數,成本:實數) SQL查詢#1
SELECT S.sid
FROM Suppliers S
WHERE S.address = '221 Packer street'
OR S.sid IN (SELECT C.sid
FROM Parts P, Catalog C
WHERE P.color = 'red' AND P.pid = C.pid)
SQL查詢#2
SELECT S.sid
FROM Suppliers S, Parts P, Catalog C
WHERE (P.pid = C.Pid AND P.color = 'red')
OR (S.address = '221 Packer street')
他們不一樣。 如果零件具有一個PID的多行,它將返回重復的供應商記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.