简单地说,我想找到一种解决方案来测试一个列值是否在表中退出另一个列值。我自然而然地跳到了"NOT IN 子句",但我也发现我不能在括号内使用列名(b.full_name)
SELECT
*
FROM
tbl1_name a
INNER JOIN
tbl2_name
ON a.id = b.id
WHERE
a.name NOT IN (b.full_name);
我可以使用什么条款来实现我正在寻找的东西等。
你可以简单地做
SELECT * FROM tbl1_name a
INNER JOIN tbl2_name ON a.id = b.id
WHERE a.name <> b.full_name;
IN
关键字通常用于检查多个值示例
NOT IN ('A', 'B');
或
NOT IN (subquery);
您可以在 not in 子句之后使用子查询,并从表 b 中选择所有名称。 希望它能解决您的问题。
Select * from table1 a inner join table2 b
on a.id=b.id
where a.name not in
(Select names from table2)
您可以使用子查询执行此操作,方式如下:
SELECT * FROM tbl1_name a
WHERE a.name IN (SELECT b.full_name FROM tbl2_name b WHERE a.id = b.id);