哪種方法可以更好地從表格中選擇ans和quest?我想在這個mysql語句中使用哪個邏輯運算符?
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
OR
SELECT * FROM tablename WHERE option='ans' AND option='quest'";
非常感謝!
哪種方法可以更好地從表格中選擇ans和quest?我想在這個mysql語句中使用哪個邏輯運算符?
SELECT * FROM tablename WHERE option='ans' OR option='quest'";
OR
SELECT * FROM tablename WHERE option='ans' AND option='quest'";
非常感謝!
你的第二個陳述不會返回任何結果。記錄不能同時有option = ans和option = quest。
我認爲你可以從你的聲明中刪除「可能」一詞:) – 2010-05-08 14:06:43
這不是一個「更好」方式的問題 - 只有第一個方法有效。即使你想在結果集中選擇= ans 和 option = quest,WHERE子句每行執行一次。所以你告訴MySQL「給我一行選項=任務和選項= ans」,即選項是一次兩個值,這是不可能的。你實際上想要得到行是真的,這就是爲什麼你使用OR
。
我覺得這個更好的讀取:
SELECT * FROM tablename WHERE option IN('ans','quest');
如果代表問題的行具有option
設置爲'quest'
,並回答行具有option
設置爲'ans'
那麼你應該使用option='ans' OR option='quest'";
。另外一行不能代表問題和答案,因此使用AND
將不會選擇任何行。
這個選擇將返回所有行衛生組織選項是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');
哎呀,真抱歉。請參閱編輯。 – JorgeV44 2010-05-08 14:09:33