假设您有 3 个表(用户、产品和订单)并且这些表满足以下要求:
- product 表有一个 storeID 字段
- 订单表有一个 productID 和 userID 字段
当您只知道商店 ID 时,查询所有唯一用户的最佳方式是什么?
最佳答案
所有的方法都会给你相同的结果
我更喜欢用这个
SELECT DISTINCT ID
FROM users u
INNER JOIN products p ON p.userID = u.ID
WHERE
p.storeID IN(SELECT storeID FROM orders)
在我看来,最好是从最小的表开始查询,同时对大表使用 JOIN,这样您就可以在连接部分更具选择性,并使您的查询更优雅,并提高性能。
您可以通过在需要的地方向查询添加更多条件来更具选择性。
关于sql - 如何查询所有从商店购买的用户知道他们的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48574796/