我知道查询中的第一个选择是左表,但我仍然很困惑何时使用右连接和左连接:
例如:
select chann.name from investments inv
right join channels chann on chann.id = inv.channel_id;
select chann.name from channels chann
left join investments inv on chann.id = inv.channel_id;
它们都返回相同的结果,为什么在第一个查询中使用右侧,为什么在第二个查询中使用左侧,这与外键有关吗?
谢谢
最佳答案
在您的示例中,两个查询是相同的,因为当从右更改为左时,您也会更改表顺序。为了简单地理解这一点,请考虑以下示例:
SELECT A.* FROM Table1 A LEFT JOIN Table2 B on A.key=B.Key
在本例中,LEFT JOIN 表示 Table1 中的所有记录,因为 是左侧的表。如果使用 right 则表示表 2 中的所有记录
关于mysql - mysql如何知道哪张表是左右,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29945802/