我在面试中提出了一个问题
包含以下字段“price”,“tool”,“range_max”,“range_min”,“age_of_tool”的表单也可以为NULL。
您将如何在表上搜索查询?
我的回答是
我会在搜索时使用“AND”...
您认为我应该给予他们什么样的正确查询?
答案 0 :(得分:3)
就个人而言,我认为他们正在寻找基于可用标准的智能搜索创意,而不是您希望使用的逻辑连接条件。
与Ajay所说的相反,AND搜索更合适。在互联网上搜索内容时,请从您自己的角度考虑它。如果你寻找'红色'的东西和'小'的东西,你会期望搜索结果只包含小红色。
否则,请查看这些字段。他们几乎告诉你需要搜索什么。例如,使用“range_min”进行区分的任何内容几乎总是如下: -
WHERE [SomeValue] > range_min
从逻辑上考虑如何在搜索中使用每个字段,并且您可能会比在此问题上收到的任何现成答案更好地达到理解。
答案 1 :(得分:0)
不,如果要搜索每一列,则应使用OR
代替AND
。
因为当我们使用AND
时,所有列中的值必须存在,但如果OR
中存在一列,则会根据您指定的搜索条件显示一些记录