
扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
MySQl的连接查询主要可以分为外连接,内连接,交叉连接
- 外连接
外连接主要分为左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、全外连接。
左外连接:显示左表中所有的数据及右表中符合条件的数据,右表中不符合条件的数据为null。
右外连接:显示右表中所有的数据及左表中符合条件的数据,左表中不符合条件的数据为null。
MySQL中不支持全外连接。
- 内连接:只显示符合条件的数据
- 交叉连接:使用笛卡尔积的一种连接。
笛卡尔积,百度百科的解释:两个集合X和Y的笛卡尔积表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 。例如:A={a,b},B={0,1,2},A × B = {(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}
举例如下:有两张表分为L表和R表。
L表
A | B |
---|---|
a1 | b1 |
a2 | b2 |
a3 | b3 |
R表
B | C |
---|---|
b1 | c1 |
b2 | c2 |
b4 | c3 |
- 左外连接 :
select L.* ,R.* from L left join R on L.b=R.b
A | B | B | C |
---|---|---|---|
a1 | b1 | b1 | c1 |
a2 | b2 | b2 | c2 |
a3 | b3 | null | null |
- 右外连接:
select L.*,R.* from L right join R on L.b=R.b
B | C | A | B |
---|---|---|---|
b1 | c1 | a1 | b1 |
b2 | c2 | a2 | b2 |
b4 | c3 | null | null |
- 内连接:
select L.*,R.* from L inner join R on L.b=R.b
A | B | B | C |
---|---|---|---|
a1 | b1 | b1 | c1 |
a2 | b2 | b2 | c2 |
- 交叉连接:
select L.*,R.* from L,R
A | B | B | C |
---|---|---|---|
a1 | b1 | b1 | c1 |
a1 | b1 | b2 | c2 |
a1 | b1 | b4 | c3 |
a2 | b2 | b1 | c1 |
a2 | b2 | b2 | c2 |
a2 | b2 | b4 | c3 |
a3 | b3 | b1 | c1 |
a3 | b3 | b2 | c2 |
a3 | b3 | b4 | c3 |
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版