SQL 如何检查一个列中的值是否在另一个列中 table
SQL how to check is a value in a col is NOT in another table
也许我需要再来一杯咖啡,因为这看起来很简单,但我无法理解它。
假设我有一个 tableA
和一个 col1
,其中存储了员工 ID……所有员工 ID。而第二个 table、tableB
有 col2
,其中列出了所有具有负面评价的员工 ID。
我需要一个查询,其中 returns 来自 col1
来自 table1
的所有 ID 和一个 newcol,它为 TableB 的 col2 中不存在的那些 ID 显示“1”。
我在 dashDB 中这样做
一个选项在两个表之间使用 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
或者,您可以使用 LEFT JOIN 和 IFNULL 函数来实现您的要求,如下所示。
SELECT a.col1,
IFNULL(b.col2, 1) NewCol
FROM tableA a
LEFT JOIN tableB b
ON a.col1 = b.col2
也许我需要再来一杯咖啡,因为这看起来很简单,但我无法理解它。
假设我有一个 tableA
和一个 col1
,其中存储了员工 ID……所有员工 ID。而第二个 table、tableB
有 col2
,其中列出了所有具有负面评价的员工 ID。
我需要一个查询,其中 returns 来自 col1
来自 table1
的所有 ID 和一个 newcol,它为 TableB 的 col2 中不存在的那些 ID 显示“1”。
我在 dashDB 中这样做
一个选项在两个表之间使用 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
或者,您可以使用 LEFT JOIN 和 IFNULL 函数来实现您的要求,如下所示。
SELECT a.col1,
IFNULL(b.col2, 1) NewCol
FROM tableA a
LEFT JOIN tableB b
ON a.col1 = b.col2