以前学过数据库基本原理的,但是许多地方没怎么用,都忘记了。对于SQL的一些知识也忘记了。
最被经常碰见的是(inner join)内连接和(outer join)外连接。这两个到底有什么区别呢?
我们看看两张表
name | age |
---|---|
John | 20 |
Smith | null |
Marry | 19 |
name | address |
---|---|
John | US |
Smith | China |
null | US |
Tom | null |
看看内连接的SQL句子
select * from A, B where A.name = B.name; --或者下面的句子 SELECT * from A INNER JOIN B where A.name = B.name;
name | age | name | address |
---|---|---|---|
John | 20 | John | US |
Smith | null | Smith | China |
内连接是返回两个表都存在的记录.(在连接的条件位置,null的不在结果中)。可以看出来,内连接是在取交集,需要两个表都出现的记录,并且符合where条件。
外连接
我看先看看左外连接的SQL语句
SELECT * from A left JOIN B on A.name=B.name;
name | age | name | address |
---|---|---|---|
John | 20 | John | US |
Smith | null | Smith | China |
Marry | 19 | null | null |
外连接是返回一个表(或两个表)的所有的记录(在连接的条件位置,null出现在结果中)。然后以左表为基础,列出符合左表的部分。
扩展阅读:SQL连接 – wikipedia
声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客
本文链接地址: SQL内连接外连接区别 – https://www.chenyudong.com/archives/sql-inner-join-outer-join.html
近期评论