Mysql
 sql >> Base de données >  >> RDS >> Mysql

Retourner NULL en utilisant WHERE IN

Une right outer join , left outer join , case et aussi not exists peut également être utilisé. Quelques exemples ci-dessous... (avec des liens vers des exemples de travail SQL Fiddle).

Jointure externe droite vers la table temporaire (sélectionnez # 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

Jointure externe droite vers la 2ème table

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