忙了一天也试不出来,急,关于不匹配查询,在线等

linyany 2006-09-21 03:56:34
SELECT [7月电话秘书].CallerNo
FROM 7月电话秘书
WHERE [7月电话秘书].CallerNo in (select [7月].字段1 from 7月 );

上面的语句可以执行,为什么我将 "in" 改为"not in "就不行了呢?

我怎样查询出 表1 里有而 表2 里没有的记录?
...全文
132 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2006-10-11
  • 打赏
  • 举报
回复
使用 Not in 时后面这个结果中不能有空值,即 Null,否则失败。
------------------------------------------------------------

不是的。有空值也可以正常执行。
liqj_csdn 2006-10-10
  • 打赏
  • 举报
回复
使用 Not in 时后面这个结果中不能有空值,即 Null,否则失败。
changechange 2006-10-09
  • 打赏
  • 举报
回复

用left join,Not in 在Access中也可以实现,但是效率很低。
OracleRoob 2006-09-22
  • 打赏
  • 举报
回复
--用left join,Not in 在Access中也可以实现,但是效率很低。

--表示A表有,而B表没有的数据
SELECT a.CallerNo
FROM 7月电话秘书 a
left join 7月 b on a.CallerNo=b.字段1
where isnull(b.字段1)

OracleRoob 2006-09-22
  • 打赏
  • 举报
回复
Access使用的是Jet-SQL。


JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=

linyany 2006-09-21
  • 打赏
  • 举报
回复
是想用,说我没装
changechange 2006-09-21
  • 打赏
  • 举报
回复
根本无需自己写代码,用不匹配项查询向导可以自动生成,然后你再去学习 SQL 吧
wwwwb 2006-09-21
  • 打赏
  • 举报
回复
isnull(b..)的意思就是 a 有b 没有,是吗
YES
linyany 2006-09-21
  • 打赏
  • 举报
回复
太棒了,可以了.能帮忙解释一下什么意思吗?为什么是 left join ;
isnull(b..)的意思就是 a 有b 没有,是吗
wwwwb 2006-09-21
  • 打赏
  • 举报
回复
SELECT a.CallerNo
FROM 7月电话秘书 a left join 7月 b
on a.CallerNo=b.字段1 where isnull(b.字段1)

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧