簡體   English   中英

這些SQL語句的輸出是否相等?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM