免费发布信息
微信公众号

mysql中内连接,左连接和右连接的区别

   来源:黔优网责任编辑:优优  时间:2024-09-19 16:57:24 浏览量:1
mysql 中内连接、左连接和右连接的区别在于:内连接只返回同时在两个表中匹配的行,而左连接返回左表所有行,包含匹配右表行,右连接返回右表所有行,包含匹配左表行。内连接语法:select * from table1 inner join table2 on table1.column1 = table2.column2;左连接语法:select * from table1 left join table2 on table1.column1 = table2.column2;右连接语法:sele

MySQL 中内连接、左连接和右连接的区别

内连接 (INNER JOIN)

只返回两个表中具有匹配行的记录。

匹配失败的记录将被丢弃。

左连接 (LEFT JOIN)

返回左表中的所有记录,即使右表中没有匹配的行。

右表中没有匹配行的记录将用 NULL 值填充。

右连接 (RIGHT JOIN)

返回右表中的所有记录,即使左表中没有匹配的行。

左表中没有匹配行的记录将用 NULL 值填充。

用法

内连接:用于查找两个表之间具有匹配行的记录,并丢弃不匹配的记录。

左连接:用于查找左表的所有记录,并包含右表中匹配行的记录。

右连接:用于查找右表的所有记录,并包含左表中匹配行的记录。

语法

内连接:

SELECT *
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column2;
登录后复制

左连接:

SELECT *
FROM table1
LEFT JOIN table2
ON table1.column1 = table2.column2;
登录后复制

右连接:

SELECT *
FROM table1
RIGHT JOIN table2
ON table1.column1 = table2.column2;
登录后复制

例子

假设我们有以下两个表:

Table1:
| id | name |
|---|---|
| 1 | John |
| 2 | Mary |
| 3 | Bob |

Table2:
| id | address |
|---|---|
| 1 | 123 Main St |
| 2 | 456 Elm St |
| 4 | 789 Oak St |
登录后复制

内连接:

SELECT *
FROM Table1
INNER JOIN Table2
ON Table1.id = Table2.id;
登录后复制

结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St

左连接:

SELECT *
FROM Table1
LEFT JOIN Table2
ON Table1.id = Table2.id;
登录后复制

结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St
3 Bob NULL

右连接:

SELECT *
FROM Table1
RIGHT JOIN Table2
ON Table1.id = Table2.id;
登录后复制

结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St
4 NULL 789 Oak St

以上就是mysql中内连接,左连接和右连接的区别的详细内容,更多请关注本网内其它相关文章!

 
 
 
没用 0举报 收藏 0
免责声明:
黔优网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优网官方立场,请读者仅做参考。本文标题:mysql中内连接,左连接和右连接的区别,本文链接:https://www.qianu.com/help/34448.html,欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法信息,请您立即点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文
推荐帮助中心
最新帮助中心