SQL如何检查col中的值不在另一个表中

时间:2017-03-09 07:56:09

标签: sql dashdb

也许我需要另一杯咖啡因为这看起来很简单但我无法理解它。

假设我有tableA col1,其中存储了员工ID ....所有员工ID。第二个表tableBcol2,其中列出了所有具有否定评价的employeeID。

我需要一个查询,其中col1来自table1的所有ID以及一个显示' 1'对于那些在TableB的col2中不存在的ID。

我在dashDB中这样做

2 个答案:

答案 0 :(得分:4)

一个选项在两个表之间使用LEFT JOIN

SELECT a.col1,
       CASE WHEN b.col2 IS NULL THEN 1 ELSE 0 END AS new_col
FROM tableA a
LEFT JOIN tableB b
    ON a.col1 = b.col2

答案 1 :(得分:1)

另外,您可以通过LEFT JOIN和IFNULL功能实现您的要求,如下所示。

SELECT a.col1,
   IFNULL(b.col2, 1) NewCol
FROM tableA a
LEFT JOIN tableB b
   ON a.col1 = b.col2