微信公众号:路人zhang
网站救助计划

1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本


2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助网站倒闭后可联系站长领取本站pdf内容


3.若网站能存活下来,后续将会持续更新内容

当前位置: 计算机基础 > MySQL高频面试题 > 33.了解MySQL的连接查询吗?

MySQl的连接查询主要可以分为外连接,内连接,交叉连接

  • 外连接

外连接主要分为左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、全外连接。

左外连接:显示左表中所有的数据及右表中符合条件的数据,右表中不符合条件的数据为null。

左外连接
左外连接

右外连接:显示右表中所有的数据及左表中符合条件的数据,左表中不符合条件的数据为null。

右外连接
右外连接

MySQL中不支持全外连接。

  • 内连接:只显示符合条件的数据
内连接
内连接
  • 交叉连接:使用笛卡尔积的一种连接。

笛卡尔积,百度百科的解释:两个集合XY的笛卡尔积表示为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表

AB
a1b1
a2b2
a3b3
L表

R表

BC
b1c1
b2c2
b4c3
R表
  • 左外连接 :select L.* ,R.* from L left join R on L.b=R.b
ABBC
a1b1b1c1
a2b2b2c2
a3b3nullnull
  • 右外连接:select L.*,R.* from L right join R on L.b=R.b
BCAB
b1c1a1b1
b2c2a2b2
b4c3nullnull
  • 内连接:select L.*,R.* from L inner join R on L.b=R.b
ABBC
a1b1b1c1
a2b2b2c2
  • 交叉连接:select L.*,R.* from L,R
ABBC
a1b1b1c1
a1b1b2c2
a1b1b4c3
a2b2b1c1
a2b2b2c2
a2b2b4c3
a3b3b1c1
a3b3b2c2
a3b3b4c3

本站链接:https://www.mianshi.online如需勘误或投稿,请联系微信:lurenzhang888


点击面试手册,获取本站面试手册PDF完整版