我想在这个mysql语句中使用哪个逻辑运算符?
从表中选择ans和任务的更好方法是什么我想在这个mysql语句中使用哪个逻辑运算符?,mysql,boolean-logic,Mysql,Boolean Logic,从表中选择ans和任务的更好方法是什么 SELECT * FROM tablename WHERE option='ans' OR option='quest'"; 或 非常感谢 您的第二条语句不会返回任何结果。记录不能同时具有option=ans和option=quest。这不是一个“更好”方法的问题,只有第一种方法有效。即使在结果集中需要option=ans和option=quest,WHERE子句每行执行一次。所以你告诉MySQL“给我一行option=quest和option=ans”
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
或
非常感谢 您的第二条语句不会返回任何结果。记录不能同时具有option=ans和option=quest。这不是一个“更好”方法的问题,只有第一种方法有效。即使在结果集中需要option=ans和option=quest,WHERE子句每行执行一次。所以你告诉MySQL“给我一行option=quest和option=ans”,即option是两个值,这是不可能的。实际上,您希望得到其中一个为真的行,这就是为什么要使用
或
我认为这样读起来更好:
SELECT * FROM tablename WHERE option IN('ans','quest');
如果表示问题的行将
选项设置为'quest'
,而表示答案的行将选项设置为'ans'
,则应使用选项='ans'或选项='quest'";代码>。此外,一行不能同时表示问题和答案,因此使用和不会选择任何行。此选择将返回所有选项为ans
或quest
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
另一方面,此选择不会返回任何行,因为列只有其中一个值
SELECT * FROM tablename WHERE option='ans' AND option='quest'";
如果希望搜索同时返回答案和问题,请使用此选项:
SELECT * FROM tablename WHERE option='ans' OR option='quest';
它也可以写为:
SELECT * FROM tablename WHERE option in ('ans','quest');
我想你可以把“可能”这个词从你的陈述中去掉:)哎呀,对不起。请参见编辑。
SELECT * FROM tablename WHERE option in ('ans','quest');