我正在尝试从OA表中选择哪些坐标在客户地址表中找不到。
SELECT DISTINCT
OA.CO_ORDS
FROM
CUSTOMER
INNER JOIN
OA ON customer.address=oa.co_ords
ORDER BY ID ASC;
返回在customer表中的坐标。如何返回那些不在customer表中的坐标?
我是否还能计算出每个坐标中有多少客户(坐标不具体,也不准确,这纯粹是为了查询测试)
SELECT DISTINCT
OA.CO_ORDS
FROM
CUSTOMER
INNER JOIN
OA ON customer.address=oa.co_ords
ORDER BY ID ASC;
2条答案
按热度按时间pbossiut1#
我们可以使用
NOT EXISTS
来查找那些没有出现在customer表中的坐标:为了计算有多少客户属于某个坐标,我们可以将
COUNT
与GROUP BY
结合使用,如下所示:最好是计算特定的列而不是 *。
使用
IN
子句代替JOIN
表也可能更好:型
这些细节取决于您的确切表格结构,请尝试一下或提供更多细节。
kgqe7b3p2#
您还可以执行以下操作:
这有时候比反连接要快。注意
MINUS
在结果集上做了一个不同的操作。