在mysql中对同一查询使用and&or条件

2vuwiymt  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(650)

如何在同一mysql where查询中使用and、or条件。

SELECT * FROM Table_name
WHERE filed_name = 0 AND (field1 != '' AND field2 ='')
OR (field1 = '' AND field2 != '') AND filed3 = 1;

我想在括号里放两个以上的文件。

xfb7svmp

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 );

在条件求值中更改优先级需要括号。。。

fzwojiic

fzwojiic2#

可以根据需要在括号中包含任意多个条件,但必须小心使用 OR 您可能会发现有必要将多组条件与括号结合起来。当这种情况发生时,一致的格式和缩进的使用可以帮助您维护所需的逻辑。

SELECT * 
FROM Table_name
WHERE (field_name = 0 
  AND (field1 != '' AND field2 ='')
      )
OR  (field3 = 1
 AND (field1 = '' AND field2 != '')
      )
;

请注意,上面的查询是一个猜测;我假设你需要两套条件。

相关问题