我有一个如下所示的查询:
SELECT u_s_date, u_s_customer, u_s_product_name, u_f_quantity FROM updated
JOIN accounts ON `name` = u_s_customer
WHERE deleted = 0;
在名为 updated
的表中比较列表400 个产品订单。我正在加入 accounts
的表因为并非所有客户名称都来自 updated
表在 accounts
table 。因此,列表中的名称从 400 个增加到大约 300 个。
我现在需要的是制作另一个未包含的 100 行的列表。
我试过类似 JOIN accounts ON `name` <> u_s_customer
的东西这显然是行不通的。我不擅长子查询和条件,恐怕这是唯一的方法。
有人可以帮我解决这个问题吗?
最佳答案
存在运算符
SELECT *
FROM updated u
WHERE NOT EXISTS (SELECT 1
FROM accounts
WHERE `name` = u_s_customer)
左连接
SELECT *
FROM updated LEFT JOIN accounts
ON `name` = u_s_customer
WHERE name IS NULL
不在
SELECT *
FROM updated
WHERE name NOT IN (SELECT u_s_customer
FROM accounts )
关于mysql - 在 SQL 语句中查找不匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682614/