mysql多行查询

时间:2018-10-01 15:51:42

标签: mysql

我对mysql完全陌生。

我正在尝试确定一个查询,当myid = hisid和hisid = myid在不同行之间时,将检查数据库是否匹配。

我理解为什么要使用此代码:

SELECT * FROM table 
WHERE myid = hisid

没有用,因为我要查找的是不同的行。

示例表格:

id| myid| hisid|
__|_____|______|
1 |  1  |  2   |
2 |  1  |  3   |
3 |  2  |  1   |

输出应为id 1和id 2。

谢谢大家!

3 个答案:

答案 0 :(得分:1)

您将把表加入自身:

SELECT * 
FROM table t1
   INNER JOIN table t2
      ON t1.myid = t2.hisid

答案 1 :(得分:1)

在这种情况下,请使用Join操作。 查询将是:

    SELECT * FROM table1 INNER JOIN table2 ON  table1.myid=table2.hisid

答案 2 :(得分:0)

尝试一下:

select * from `table` t
where exists(select 1 from `table`
             where hisid = t.myid)