我知道第一个select from查询是左边的表,但是我仍然不知道何时使用right和left join:
前任:

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;

它们都返回相同的结果,为什么在第一个查询中使用right,为什么在第二个查询中使用left,这是否与外键有关?
谢谢

最佳答案

在您的示例中,两个查询都是相同的,因为当从右向左更改时,还可以更改表的顺序。为了简单地理解这一点,请考虑以下示例:

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/

10-15 10:49