我有一个名为optima的表,有几个字段,我需要做一个查询,将返回结果field1 = a
和field2 = b
。MySQL:如何从两个领域进行搜索?
表例如
F1 F2
_____
a z
v a
a b
b a
结果必然是:
a b
我试图让查询像
SELECT * FROM `optima` WHERE `F1` LIKE 'a' AND `F2` LIKE 'b';
但它返回我什么。
我有一个名为optima的表,有几个字段,我需要做一个查询,将返回结果field1 = a
和field2 = b
。MySQL:如何从两个领域进行搜索?
表例如
F1 F2
_____
a z
v a
a b
b a
结果必然是:
a b
我试图让查询像
SELECT * FROM `optima` WHERE `F1` LIKE 'a' AND `F2` LIKE 'b';
但它返回我什么。
精确匹配,使用=
操作,例如:
select *
from `optima`
where `F1` = 'a' and `F2` = 'b';
你有背痛吗? – Bohemian 2012-04-23 13:58:29
我认为在这种情况下'LIKE'更准确,因为它按字符进行比较并考虑尾随空格。虽然,'='可能会更好,因为尾随空格将被忽略,这可能是问题所在。 – 2012-04-23 13:59:33
以及如果我需要搜索类似这样的内容:'a,b%'与'a,bc'中的表?所以只需使用'like',而不是'='? – 2012-04-23 14:07:31
你真的需要学习SQL基础知识。 – 2012-04-23 13:46:59
F1和F2的列类型(和长度)是什么? – 2012-04-23 14:01:26
反引号或反引号偶尔是必要的,但你应该避免他们不在的地方。表名不需要反引号;列名可能需要反引号的唯一原因是因为它们是大写的,并且在创建表时被反引号括起来。 – 2012-04-23 14:02:28