[SQL ] not exist与not in的差别

楼主: panda555 (我是胖达不是胖呆哟^ ^)   2014-07-10 20:25:43
(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称:
数据库版本:
内容/问题描述:
有一个数据库的表格 Table,字段如下:
订单号码、订单明细、订单日期、供应商代号、供应商名称、供应商地址、供
应商联络人、电话、料号、品名、规格、数量、单位、单价、金额、备注
(其中,有划底线的是键值。一张订单可以购买好几项物品,每一项一行,而“订单明
细”是订单的项次,其值为1,2,3,…)
有那一个供应商,我们只和他买很贵(单价超过 5 万元)的东西?
not exist与not exist的写法
Select 供应商代号,供应商名称
From Table A
where not exists
(Select *
From Table B
where 单价>50000 and not exists
(Select *
From table C
where B.料号=C.料号
and A.供应商代号=C.供应商代号)
)
not IN的写法
Select 供应商代号,供应商名称
From Table A
where 供应商代号 NOT IN
(Select 供应商代号
From Table B
Where 单价<=50000)
想问一下这2句SQL为什么出来的结果不一样呢?
not exist....not exist为什么会错呢??
作者: konkonchou (卡卡猫)   2014-07-10 22:05:00
第一段多了两个not结果当然会不一样,语意都有问题

Links booklink

Contact Us: admin [ a t ] ucptt.com