我有一个如下所示的查询:
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;
比较400个产品订单中名为updated
的表中的列表。我正在加入accounts
表,因为updated
表中的所有客户名称都不在accounts
表中。因此,列表从400到300个名称。
我现在需要的是另外列出100行不。
我尝试了JOIN accounts ON `name` <> u_s_customer
这样的事情,但显然没有用。我对子查询和条件不满意,我担心这是唯一的方法。
有人可以给我一些帮助吗?
答案 0 :(得分:3)
EXISTS OPERATOR
SELECT *
FROM updated u
WHERE NOT EXISTS (SELECT 1
FROM accounts
WHERE `name` = u_s_customer)
LEFT JOIN
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 )