为什么MySQL php中会显示许多同名行?

为什么MySQL php中会显示许多同名行?,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我尝试将两个表进行内部联接,当我使用“=”时,它可以工作,但当我使用“!=”时它不再工作了。结果是许多行具有相同的值 比如说 name: john john john john john mary mary mary mary lisa lisa lisa lisa lisa etc... (many other names) 这是我的代码。 SELECT part_names FROM participants INNER JOIN reservations ON participants.

我尝试将两个表进行内部联接,当我使用
“=”
时,它可以工作,但当我使用
“!=”时它不再工作了。结果是许多行具有相同的值

比如说

name:
john
john
john
john
john
mary
mary
mary
mary
lisa
lisa
lisa
lisa
lisa etc... (many other names)
这是我的代码。

SELECT part_names FROM participants INNER JOIN reservations ON participants.part_id != reservations.part_id 
疯狂的事情是,我得到了5个约翰的,5个丽莎的,只有4个玛丽的(mary不应该显示,因为她的参与者id与预订中的id匹配。我如何解决这个问题,我只能在预订表中看到表中参与者的part_id不匹配的参与者?并且只有1个,所以不是Lisa,而是Lisa。)。
谢谢!

我很确定您想要一个
左联接
并与
空比较:

SELECT p.part_names
FROM participants p LEFT JOIN
     reservations r
     ON p.part_id = r.part_id
WHERE r.part_id IS NULL;

也就是说,查找匹配项,然后返回没有匹配项的行。

非常感谢,它很有效!我只是想知道,如果不使用“联接”或“左联接”,这是否可能,在哪里?或者这是不可能的?这是为了学校,可能只允许我使用我们在课堂上学到的东西。再次感谢!!!你在课堂上学到了什么?imnokaypovidz
不在
不存在
可能仅限于@RaymondNijlandWHERE@imnotokaypopvidz…我通常会使用
NOT EXISTS
编写此文件。简短回答..
内部联接
将多个表连接在一起,并可能导致完整的重复结果或列中的重复..好的,谢谢,我没有知道吗