select distinct * from Follow where ( select * from Follow where userId=2 union select * from Follow where userId=3); 改错
时间: 2024-08-12 22:07:07 浏览: 44
学习SQL语句(强大的group by与select from模式)
你的SQL查询看起来像是试图找出用户2和用户3分别关注的所有不同的人。但是,由于`union`操作是用于合并两个查询的结果集并去除重复项,如果每个查询都使用了`*`(选择所有列),那么结果集中将不会有重复行,因为`union`已经保证了每一行只出现一次。
如果你想确保每个查询的结果集中不包含重复项,并且只获取每个用户关注的不同用户ID,你应该使用`distinct`关键字在外部查询中,而不是在内部查询。正确的语法应该是:
```sql
SELECT DISTINCT userId FROM
(
SELECT userId FROM Follow WHERE userId = 2
UNION
SELECT userId FROM Follow WHERE userId = 3
) AS combinedFollows;
```
这样,外部查询将返回两个用户关注的所有唯一用户ID,而不会重复。
阅读全文