0

我有一个查询

SELECT * FROM msg where sender = receiver

其中 sender 和 receiver 是 msg 表的两列。

查询工作正常。现在我的问题是:

这是一个self join吗?我认为这是一个简单的查询,它比较同一表中两列的值,如self join我们将表连接到自身以获得具有同一表列的结果表两次。

例如 :SELECT * from msg m Join msg p on m.id = p.id ;

任何人都可以澄清吗?

谢谢是提前。

4

1 回答 1

0
   SELECT * FROM msg where sender = receiver  

不是自加入。

自联接与任何其他联接一样,只是同一表的两个实例将在查询中联接。

当您有一个引用自身的表时,这很常见。示例:一个员工表,其中每个员工都可以有一个经理,并且您想要列出所有员工及其经理的姓名。

于 2013-07-03T06:20:36.093 回答