赞
踩
1.内连接:只返回两个表中连接字段相等的行。inner join(等值连接) 只返回两个表中联结字段相等的数据
2.左外连接(也称左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。以左表为基表,在from子句中使用关键字left outer join”或关键字“left join”来连接两张表。
3.右外连接(也称右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。以右表为基表,在from子句中使用关键字“right outer join”或关键字“right join”来连接两张表。
4.全外连接:返回左右表中所有的记录和左右表中连接字段相等的记录。在from子句中使用关键字“full outer join”或关键字“full join”来连接两张表。
5.交叉连接(笛卡尔积):返回被连接的两个表所有数据行的笛卡尔积。返回结果集合中的数据行数等于第一个表中复合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
内连接也称为等值连接,只返回两个表中键值匹配的行,即只有在两个表中都有匹配的数据时才会返回。内连接的语法如下:
select column
from table1
inner join table2
on table1.column = table2.column
左连接返回左表中所有记录和右表中匹配的记录,如果右表中没有匹配的记录,则返回 NULL 值。左连接的语法如下:
select column
from table1
left join table2
on table1.column = table2.column
右连接返回右表中所有记录和左表中匹配的记录,如果左表中没有匹配的记录,则返回 NULL 值。右连接的语法如下:
select column
from table1
right join table2
on table1.column = table2.column
返回左右表中所有的记录和左右表中连接字段相等的记录。全外连接的语法如下:
select column
from table1
full join table2
on table1.column = table2.column
返回结果集合中的数据行数等于第一个表中复合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
select column
from table1 , table2
假设有两张表A和B
表A:
id | name |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
表B:
id | score |
---|---|
1 | 90 |
2 | 80 |
3 | null |
1.内连接
select A.id, A.name, B.score
from A
inner join B
on A.id = B.id;
结果
id | name | score |
---|---|---|
1 | Alice | 90 |
2 | Bob | 80 |
3 | Carol | null |
2.左外连接
select A.id, A.name, B.score
from A
left join B
on A.id = B.id;
结果
id | name | score |
---|---|---|
1 | Alice | 90 |
2 | Bob | 80 |
3 | Carol | null |
3.右外连接
select A.id, A.name, B.score
from A
right join B
on A.id = B.id;
结果
id | name | score |
---|---|---|
1 | Alice | 90 |
2 | Bob | 80 |
3 | Carol | null |
参考:https://blog.csdn.net/qq_62687015/article/details/128104836
https://www.jb51.net/article/283404.htm
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。