从表格中选择ans和quest的更好方法是什么?
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
OR
SELECT * FROM tablename WHERE option='ans' AND option='quest'";
非常感谢!
答案 0 :(得分:7)
你的第二个陈述不会返回任何结果。记录不能同时具有option = ans和option = quest。
答案 1 :(得分:4)
这不是一个“更好”的问题 - 只有第一个有效。即使您在结果集中需要option = ans 和 option = quest,WHERE子句每行执行一次。所以你告诉MySQL“给我一行选项= quest和option = ans”,即选项是两个值,这是不可能的。实际上,您希望获得其中任何一个为真的行,这就是您使用OR
。
我认为这样做更好:
SELECT * FROM tablename WHERE option IN('ans','quest');
答案 2 :(得分:2)
如果代表问题的行option
设置为'quest'
,而回答的行option
设置为'ans'
,那么您应该使用option='ans' OR option='quest'";
。此外,行不能同时代表问题和答案,因此使用AND
不会选择任何行。
答案 3 :(得分:1)
此选项将返回选项为ans
或quest
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
另一方面,此选择不会返回任何行,因为列只有其中一个值
SELECT * FROM tablename WHERE option='ans' AND option='quest'";
答案 4 :(得分:0)
如果您希望搜索返回答案和问题,请使用此选项:
SELECT * FROM tablename WHERE option='ans' OR option='quest';
也可以写成:
SELECT * FROM tablename WHERE option in ('ans','quest');