select 问题
1. select title_id,title,price from titles where title_id in (select title_id from sales where qty>2)
2. select title_id,title,price from titles where exists (select * from sales where sales.title_id=titles.title_id and qty>2)
3. select a.title_id,a.title,a.price from titles a,sales b where a.title_id=b.title_id and b.qty>2 order by a.title_id
环境:mssql70 database:pubs
在前面两个都是返回同样的结果。但第三个就不一样了。按道理应该返回相同的。
我分析了一下,发现第三个返回有相同的title_id(BU1032) 。但在titles只有一条(BU1032) ,我的这条语句where 条件用default应该是inner.为什么会出现相同的记录呢????????????