mysql - mysql如何知道哪张表是左右

标签 mysql sql

我知道查询中的第一个选择是左表,但我仍然很困惑何时使用右连接和左连接:

例如:

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/

相关文章:

php - 在 mysql 中向 NOW 添加 1 天

用户收藏夹系统的MySQL三表连接

mysql - 如何使用自动递增的列(字段)将数据插入 MySQL?

javascript - 如何使用 bookshelf js(和 knex querybuilder)在不使用 InvokeThen 的情况下将多行插入 mysql?

php - 为什么同一页面上会显示多个个人资料?

mysql - SQL:数据被分成多行

mysql - ActiveRecord 按特定关系的值排序

SQL - 如何将 varchar 转换为带大小写的 int

php - lastInsertId() 是否获取该脚本或整体插入的最后一个 ID?

PHP PDO 取空