如何在同一mysql where查询中使用and、or条件。
SELECT * FROM Table_name WHERE filed_name = 0 AND (field1 != '' AND field2 ='') OR (field1 = '' AND field2 != '') AND filed3 = 1;
我想在括号里放两个以上的文件。
xfb7svmp1#
sql引用列(而不是字段)无论如何,您可以在每个where条件中使用所需的所有列
SELECT * FROM Table_name WHERE col0 = 0 AND col1 != '' AND col2 ='' OR (col1 = '' AND col2 != '' AND col3 ='YOUR_VALUE') AND col3 = 1 OR (col4 = 'your_value4' AND col5> 100 );
在条件求值中更改优先级需要括号。。。
fzwojiic2#
可以根据需要在括号中包含任意多个条件,但必须小心使用 OR 您可能会发现有必要将多组条件与括号结合起来。当这种情况发生时,一致的格式和缩进的使用可以帮助您维护所需的逻辑。
OR
SELECT * FROM Table_name WHERE (field_name = 0 AND (field1 != '' AND field2 ='') ) OR (field3 = 1 AND (field1 = '' AND field2 != '') ) ;
请注意,上面的查询是一个猜测;我假设你需要两套条件。
2条答案
按热度按时间xfb7svmp1#
sql引用列(而不是字段)无论如何,您可以在每个where条件中使用所需的所有列
在条件求值中更改优先级需要括号。。。
fzwojiic2#
可以根据需要在括号中包含任意多个条件,但必须小心使用
OR
您可能会发现有必要将多组条件与括号结合起来。当这种情况发生时,一致的格式和缩进的使用可以帮助您维护所需的逻辑。请注意,上面的查询是一个猜测;我假设你需要两套条件。