作者panda555 (我是胖达不是胖呆哟^ ^)
看板Database
标题Re: [SQL ] not exist与not in的差别
时间Mon Jul 14 23:23:46 2014
※ 引述《panda555 (我是胖达不是胖呆哟^ ^)》之铭言:
: (针对 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为什麽会错呢??
大大的意思是 not exist not exist的除法条件比较严格吗?
因为我看2种都有负负得正的意思耶
除法的意思是所有50000以上都要卖 这个厂商才会列出的意思吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.234.69
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1405351429.A.91C.html
※ 编辑: panda555 (111.243.234.69), 07/14/2014 23:24:15
1F:→ oklp1415:怎麽要令外po文,顺道回应你,这两者的语法做出来的差异 07/19 16:42
2F:→ oklp1415:在WHERE的部分,NOT EXIST 也不是真正有负负得正的意思 07/19 16:42