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

Retornando NULL usando WHERE IN


Uma right outer join , left outer join , case e também not exists também pode ser utilizado. Alguns exemplos abaixo... (com links para exemplos de trabalho do SQL Fiddle).

Junte externa direita à tabela temporária (selecione # UNION)

SELECT GROUP_CONCAT(CASE WHEN COLUMN1 IS NULL THEN "NULL" ELSE COLUMN1 END)
FROM archive
RIGHT OUTER JOIN
  (SELECT 21 AS id
   UNION SELECT 22 AS id) AS tmp ON tmp.id=archive.column2;

SQL Fiddle:http://sqlfiddle.com/#!2/805e1c/9

Junto externo direito à 2ª tabela

SELECT GROUP_CONCAT(
  CASE WHEN COLUMN1 IS NULL THEN "NULL" ELSE COLUMN1 END)
FROM archive
RIGHT OUTER JOIN temporary tmp ON tmp.id=archive.column2;

SQLFiddle:http://sqlfiddle.com/#!2/36fba/2