Re: [SQL ] 哪一種SQL文效率比較高呢??
※ 引述《ankasc (初夏。)》之銘言:
: : 狀況二:
: : 比較兩個表單的差異的query,
: : (例如要看表1當中的資料, 有哪些是表2中沒有的)
: : 用 LEFT JOIN 還是 巢狀式query 比較好??
: : SELECT TB1.fd1
: : FROM TB1 LEFT JOIN TB2 ON TB1.fd1 = TB2.fd2
: : WHERE TB2.fd2 IS NULL
: : 還是
: : SELECT TB1.fd1
: : FROM TB1
: : WHERE TB1.fd1 NOT IN (SELECT TB2.fd2 FROM TB2)
: : 謝謝!!
: 據我所知,以SQL Server來講,in 的效果是最差的,
: 有可能是與set的實作方式有關,記得之前在MSDN上有看過文章。
就MS-SQL而言,IN 的效果並不差,差的是NOT IN
LEFT OUTER JOIN的效率也好不到哪裡,如果必須取得「不存在於...」
的資料,請用NOT EXISTS
SELECT TB1.fd1
FROM TB1
WHERE NOT EXISTS (SELECT top 1 1 FROM TB2 WHERE TB1.fd1 = TB2.fd2 )
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.166.116
→
11/20 13:46, , 1F
11/20 13:46, 1F
推
11/20 17:27, , 2F
11/20 17:27, 2F
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章