SQL JOIN

Wesley13
• 阅读 345

SQL join 用于把来自两个或多个表的行结合起来。

  • INNER JOIN:如果表中有至少一个匹配,则返回行
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行

1. INNER JOIN 关键字在表中存在至少一个匹配时返回行。

SQL INNER JOIN 语法

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON _table1.column_name_=table2.column_name;

或:

SELECT column_name(s)
FROM table1
JOIN table2
ON _table1.column_name_=table2.column_name;

注释:INNER JOIN 与 JOIN 是相同的。

SQL JOIN

2. LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

SQL LEFT JOIN 语法

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON _table1.column_name_=table2.column_name;

或:

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON _table1.column_name_=table2.column_name;

注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

SQL JOIN

3. RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

SQL RIGHT JOIN 语法

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON _table1.column_name_=table2.column_name;

或:

SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON _table1.column_name_=table2.column_name;

注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

SQL JOIN

4. FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SQL FULL OUTER JOIN 语法

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON _table1.column_name_=table2.column_name;

SQL JOIN

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
1年前
MySql 小表驱动大表
在了解之前要先了解对应语法in与exist。IN:selectfromAwhereA.idin(selectB.idfromB)in后的括号的表达式结果要求之输出一列字段。与之前的搜索字段匹配,匹配到相同则返回对应行。mysql的执行顺序是先执行子查询,然后执行主查询,用子查询的结果按条匹配
Wesley13 Wesley13
1年前
MySQL数据库查询
MySQL数据库查询12、说明:使用外连接A、left(outer)join:左外连接(左连接):包含leftjoin左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).。SQL:select\fromstudent(表1)leftjoincourse(表2)onstude
Easter79 Easter79
1年前
sql的left join 、right join 、inner join之间的区别
sql的leftjoin、rightjoin、innerjoin之间的区别  leftjoin(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录   rightjoin(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录  innerjoin(等值连接)只返回两个表中联结字段相等的行举例如下: 
Easter79 Easter79
1年前
SQL的各种连接Join详解
原文地址:https://www.cnblogs.com/reaptomorrowflydream/p/8145610.htmlSQLJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的JOIN类型:SQLINNERJOIN(简单的JOIN)、SQLLEFTJOIN、SQL RIGHTJOIN
Stella981 Stella981
1年前
SQL的各种连接Join详解
原文地址:https://www.cnblogs.com/reaptomorrowflydream/p/8145610.htmlSQLJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的JOIN类型:SQLINNERJOIN(简单的JOIN)、SQLLEFTJOIN、SQL RIGHTJOIN
Easter79 Easter79
1年前
sql之left join、right join、inner join的区别
leftjoin(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录rightjoin(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录innerjoin(等值连接)只返回两个表中联结字段相等的行举例如下:\
Wesley13 Wesley13
1年前
MySQL INNER JOIN子句介绍
MySQLINNERJOIN子句介绍MySQLINNERJOIN子句将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录。INNERJOIN子句是SELECT语句的可选部分,它出现在FROM子句(https://www.oschina.net/action/GoT
Wesley13 Wesley13
1年前
MySQL相关问题题
1.truncate、delete、drop的区别(1)truncate、drop是不可以rollback的,但是delete是可以rollback的。DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删
Easter79 Easter79
1年前
SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join和Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行join。数据库中的表可通过键将彼此联系起来。主键(PrimaryKey)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这
Easter79 Easter79
1年前
sql子查询
子查询可以返回各种不同类型的信息标量子查询返回一个值;(最严格的,适用范围也最大)列子查询返回一个由一个值或多个值构成的列;行子查询返回一个由一个值或多个值构成的行;表子查询返回一个由一个行或多个行构成的表,而行则由一个或多个列构成。带关
Wesley13 Wesley13
1年前
MysQL使用一高级应用(下)
连接查询连接查询分类如下:表Ainnerjoin表B:表A与表B匹配的行会出现在结果中表Aleftjoin表B:表A与表B匹配的行会出现在结果中,外加表A中独有的数据,未对应的数据使用null填充表Arightjoin表B:表A与表B匹配的行会出现在结果中,外加表B