mysql - SQL中左连接和右连接的原因是什么

标签 mysql sql sql-server database join

例如:我有两个表

表代理 enter image description here

表格应用 enter image description here

1)

select a.agentID, agent_nm from agent a
left join application ap on (ap.agentID=a.agentID);

我在上面的查询中使用左连接,得到的结果是 enter image description here

2)

select a.agentID, agent_nm from application ap
right join agent a  on (ap.agentID=a.agentID);

我在上面的查询中使用右连接,得到的结果与使用左连接得到的结果相同。喜欢 enter image description here

所以我的问题为什么mysql中是左连接和右连接。我们可以通过左连接检索数据,仅交换表。那么为什么我们在查询中使用正确的连接。同样的方式,我们可以仅使用右连接而不使用左连接来实现目标。 那么SQL中Left和Right Join的原因是什么呢?谁能解释一下其中的逻辑吗?

最佳答案

确实没有什么理由。事实上,MySQL 文档说:

RIGHT JOIN works analogously to LEFT JOIN. To keep code portable across databases, it is recommended that you use LEFT JOIN instead of RIGHT JOIN.

这只是您拥有的一个选项,只有少数人利用。

关于mysql - SQL中左连接和右连接的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184082/

相关文章:

php - Mysql通过远程连接DB进行查询

mysql - 如何让 MySQL 识别 LIKE 和 REGEXP 中的多字节字符?

sql - 如何在我的 TSQL 中替换 union all

SQL SERVER T-SQL 按组计算小计和总计

sql-server - SQL Server : Database stuck in "Restoring" state

PHP MySQL 从日期变量查询

mysql - MySQL 中用于统计未读消息的子查询

mysql - 如果计数大于一,则替换第二个值

MySQL 按降序获取唯一值

SQLException - 事务开始/提交不匹配