MySql 中没有 Intersect, Minus 关键字,解决方法是
- 内连接,和
- 子查询或
- 分别左加入。
请看这里
在 MySQL 中做 INTERSECT 和 MINUS
我试了一下(虽然我是 SQL Server 人)
输入:
id_user id_movie
101 1
102 2
102 3
104 4
102 5
107 6
102 2
103 3
109 9
110 2
110 3
使用相交(如果在 SQL Server 中运行)的输出将是
id_user
102
110
MySQL 兼容查询
使用查询 1Inner join
select distinct a.id_user
from Rating a
join Rating b on a.id_user = b.id_user
where a.id_movie = 2 and b.id_movie = 3
使用查询 2Cross join
select distinct a.id_user
from Rating a, Rating b
where a.id_user = b.id_user
and a.id_movie = 2
and b.id_movie = 3
使用子查询查询 3
上面已经回答了。