SQL 子查詢 中exist與in 的區別
SQL 子查詢 中exist與in 的區別
資料來源: http://taichitech.blogspot.tw/2009/01/sqlexistin.html
●使用時機分析
01.Exits適合內小外大的查詢,in適合內大外小的查詢。
02.In 確定給定的值是否與子查詢或列表中的值相匹配。
03.Exists 指定一個子查詢,檢測行的存在。
●比較使用EXISTS和IN的查詢 ~ 本示例所示查詢查找由位於以字母B開頭的城市中的任一出版商出版的書名
SELECT title
FROM titles
WHERE EXISTS
(SELECT *
FROM publishers
WHERE pub_id = titles.pub_id
AND city LIKE ‘B%’)
SELECT title
FROM titles
WHERE pub_id IN
(SELECT pub_id
FROM publishers
WHERE city LIKE ‘B%’)