如何检查表中的条目是否存在于另一个表中

时间:2018-01-03 07:37:07

标签: mysql

我有两张桌子:

Output
ID Name 
1   A
2   B
3   C
4   D

TEST
ID Name
2   B
3   C

我想创建一个看起来像这样的新表:

Output
ID Name TEST
1   A    no
2   B    Yes
3   C    Yes
4   D    no

目前,我在表Output:

上创建了一个新列
   ID Name TEST
    1   A    NULL
    2   B    NULL
    3   C    NULL
    4   D    NULL

并使用此查询

SELECT * FROM OUTPUT,
CASE WHEN OUTPUT.ID = TEST.ID
THEN 'Yes'
ELSE 'No'
END;

但是我收到错误,说“关键字'case'附近的SYNhax不正确”。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以使用加入,然后使用CASE检查是否存在

SELECT o.*,
CASE WHEN t.ID IS NOT NULL THEN 'Yes' ELSE 'No' END Test
FROM OUTPUT o
LEFT JOIN test t ON o.ID = t.ID
ORDER BY o.ID

Demo