SQL语句查询条件一个字段=多个值怎么写

记得有一次,我在公司数据库中查找员工信息,需要过滤掉工资8 000、9 000的同事。
当时对SQL的IN关键字还不是很熟悉,所以最后就一一写条件,写了好几行代码。
后来同事小王路过,看了我的操作,说:“用IN关键字试试。
”我做到了,事情变得更简单了。
等等还有一个。
突然,我的大学老师教我可以使用VLOOKUP函数来回答这类问题。
但使用SQL确实很专业。

Access数据库创建多值字段及在查询或窗体中使用多值字段(Access新版新功能)

说实话,当我第一次接触多个领域的Access时,我有些困惑。
你知道在MySQL或者SQL Server中,你必须创建一个中间表来标识很多的关系,但是在Access中,这个问题得到了解决——一个字段直接添加很多值,想想也省事。

以我之前制定的计划为例。
他被送进医院。
起初我想为每个客户分配一个标签。
如果用传统的方法,就得来回建标签关联表、创建外键,太麻烦了。
这就是为什么我直接在客户表中添加了“客户标签”多值字段。
我使用显示向导创建它,勾选“允许多值”,然后直接选择“所需值类型”。
现在,在输入客户信息时,客户同时被贴上“VIP;新客户;高消费”的标签。
组合框直接位于数据表上,可以进行多种选择,使用起来非常直观。

不过说实话,用这件事,不过你注意一下你的表现。
我之前在表中存储了数百个产品分类标签,但导出数据时Access会卡住,甚至检查东西都非常慢。
后来如果数据之和最大,我就想到用中间表。
虽然开发起来非常困难,但是用SQL Server运行起来确实很快。
我个人没有在这方面运行过Oracle,但我怀疑它是相似的。

有趣的是,在问题中使用多个字段也很有趣。
我尝试使用 IN 运算符直接过滤,例如“SELECT FROM TABLE EDITED TABLE WHERE VIP”IN;这样我就可以直接找到所有选择了VIP标签的客户。
但如果您想知道客户具体喜欢什么,则必须在 VBA 中编写一段代码来拆分多值字段。
我不明白为什么Access自己的函数不能做到这一点。

另一个需要注意的陷阱是Access2 003 及更早版本不支持多值字段。
我有一个老客户,还在用2 003 ,每次升级系统,都要经历将多值字段改为文本类型,并手动用分号分隔的麻烦。
数据量很大,因此您不必担心此任务。

说白了,多值字段是Access交付工作的一个特殊功能。
特别适合小型企业或者对数据库操作不是很专业的用户。
如果您正在构建一个具有大量数据的系统,建议您使用多模式设计。
不过话说回来,有了Access,你可以利用你的兴趣,做你不想做的事情。