Office中国论坛/Access中国论坛

标题: [案例]问:如何写在ACCESS查询中不包含某关键字的语句? [打印本页]

作者: huanghai    时间: 2007-9-4 09:48
标题: [案例]问:如何写在ACCESS查询中不包含某关键字的语句?


问:
如何写在ACCESS查询中不包含某关键字的语句?如我使用<> "关键字"弄出来只是不等于这个关键字.如何才是不包含这个关键字?
答:
这个问题包括SQL语句的两个技术点,一个是LIKE模糊匹配,一个是IN(NOT IN)包含查询.
假设表:书目表
字段:
ID,自动编号,不重复
书名,文本
记录
ID,书名
1,ACCESS开发两百问
2,ACCESS VBA快速入门
3,EXCEL开发大全
4,WORD高手速成
SQL 语句:

包含关键字:开发
SELECT ID, 书名 FROM 书目表 WHERE 书名 LIKE "*开发*"
返回:1,3记录
不包含关键字:开发
这里不是使用NOT LIKE,事实上没有这样的语法,而应该使用NOT IN(不包含)关键字来实现,语句是:
SELECT ID, 书名 FROM 书目表 WHERE ID NOT IN(SELECT ID FROM 书目表 WHERE 书名 LIKE "*开发*")
返回:2,4记录
补充:如果排除多个关键字,可以在NOT IN()中的条件使用多个LIKE关键字,使用OR相联,如:书名 LIKE "*WORD*" OR 书名 LIKE "*EXCEL*"
作者: 一点通    时间: 2007-9-4 11:30
谢谢分享
作者: goto2008    时间: 2007-9-9 21:53
如果有个例子...就更好了..
作者: Y9X    时间: 2012-7-6 17:16
not in 蛮好
作者: layaman_999    时间: 2012-7-6 21:57
可以参考instr(字段名,"关键字")=0




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3