我一直在学习如何使用嵌套联接,但我似乎无法让它们适用于我当前的数据库。
我想首先了解有多少用户至少使用过一次(他们的帐户中有一些分钟)、在 2016 年创建了帐户并在 2013 年使用过 iPhone。 我已经尝试过哪个会产生错误:
SELECT COUNT(user_id) FROM USER
WHERE usage_count > 0
AND account_created <= ‘2016-12-31’
AND account_created >= ‘2016-01-01’
INNER JOIN PRODUCT
WHERE product = 'iPhone';
最佳答案
您的查询错误是预期的,因为您有两个 WHERE
子句,并且 USER
是关键字,不应用作标识符。我已经使用 backtique 转义了它们,最好使用非键/保留字作为列名。您的查询应该类似于
SELECT COUNT(u.user_id) FROM `USER` u
INNER JOIN USAGE us on us.user_id = u.user_id
JOIN PRODUCT p ON us.product_id = p.product_id
WHERE p.product = 'iPhone'
AND u.usage_count > 0
AND u.account_created <= '2016-12-31'
AND u.account_created >= '2016-01-01'
关于mysql - 如何使用嵌套连接编写 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294553/