几个基本的SQL查询问题

Nub*_*ber 2 sql

基本上我有一个小事件系统正在进行,但我有几个奇怪的SQL查询问题.第一个我需要找到已注册所有3个事件的所有人名.我试着这样做:

SELECT name 
FROM users 
NATURAL JOIN events 
WHERE events.id = '4' AND events.id = '7' AND events.id = '8'
Run Code Online (Sandbox Code Playgroud)

但它返回零行,即使有用户已注册所有3个事件

第二个,我需要找一个注册参加活动4的人,但不是我尝试过的活动7:

SELECT name 
FROM users 
NATURAL JOIN events 
WHERE events.id = '4' AND events.id !='7'
Run Code Online (Sandbox Code Playgroud)

它返回与没有!=标记相同的结果,因为它至少应该消除一些结果.

提前致谢.

Otá*_*cio 5

首先,events.id不可能同时等于4,7和8(我认为你在这里寻找OR运算符).第二个问题是你不能同时将同一列与4和7进行比较 - 它会查找4和不同于7的东西(这4当然是我最后一次检查的).