为什么NOT LIKE的结果会是这样?

一株葡萄树 2017-09-26 05:31:32
有一个主表:
ID 值
2 a
3 f
4 hj
有一个辅表:
ID 值
2 a-1
3 f-3
4 hj
5 og
现在要求:辅表中有而主表中没有的值(其中a-1认为是a的分支,同理f-3)
所以结果应该返回:5 og
SELECT 辅表.值
FROM 辅表, 主表
WHERE 辅表.值 NOT LIKE 主表.值&"*";

这样结果是错的(返回了两个表的并集,而且每个值还重复了好几遍),谁能给我解释一下这里匹配的原理是什么?
而且我用LIKE得到的结果是符合预期的
SELECT 辅表.值
FROM 辅表, 主表
WHERE 辅表.值 LIKE 主表.值&"*";

这样得到ID为2,3,4的记录
...全文
897 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一株葡萄树 2017-09-28
  • 打赏
  • 举报
回复
@ACMAIN_CHM 谢谢,我明白了。
ACMAIN_CHM 2017-09-27
  • 打赏
  • 举报
回复
百度一下 迪卡尔积

7,713

社区成员

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

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