Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:selecione * da tabela onde col IN (null, ) possível sem OR

SELECT  *
FROM    mytable
WHERE   COALESCE(col, '') = ''

Observe, no entanto, que OR query será muito mais eficiente se a coluna estiver indexada:
SELECT  *
FROM    mytable
WHERE   col = '' OR col IS NULL

Isso usará ref_or_null caminho de acesso no índice.

Se você precisar selecionar de uma lista de valores junto com NULLs , basta colocar todos os valores não nulos na lista e adicionar um único OR IS NULL doença:
SELECT  *
FROM    mytable
WHERE   col IN ('val1', 'val2', 'val3') OR col IS NULL

Isso usará um índice em col também.