MySQL--四(表连接)

warning: 这篇文章距离上次修改已过958天,其中的内容可能已经有所变动。
表连接的几种类型:自连接、内连接、左外连接、右外连接。

1、自连接

       自连接:即表本身和自己连接。

准备两个表:
一个学生表stu,字段有:stu_id,stu_name,stu_cls
一个课程表class,字段有:cls_id,cls_name,cls_stu_id(选课学生id)

2、内连接

语法:

select 查找字段..
from 左表
inner join 右表
on 查找条件;

查找出所有选了课的学生的名字,和所选课程名称

select stu_name,cls_name

from stu
inner join class
on stu_id= clas_stu_id;

3、左外连接

       左外连接:返回左表中所有的数据和右表中符合条件的数据。

通用语法:

select 查找字段..
from 左表
left join右表
on 左表字段  = 右表字段 ;

oracle中有特有的连接语法:

select 查找字段..
from 左表,右表
where 左表字段 = 右表字段(+);

需求:查找出所有学生的姓名和学生选的课的名称。(与上面内连接的区别在于这里查找的是所有学生的名字,因为有的学生有可能没有选课,在内连接中没有选课的学生并没有查找。

通用语法:
select stu_name,cls_name
from stu
left join class
on stu_id = cls_stu_id;
oracle特有语法实现:
select stu_name,cls_name
from stu,class
where stu_id = cls_stu_id(+);

4、右外连接

       右外连接:返回右表中所有的数据和左表中符合条件的数据。(右外连接和左外连接其实可以互相转换的,如果把左连接中的左表作为右表,就成了右连接)

通用语法:
select 左表字段,右表字段
from 左表
right join 右表
on 左表字段 = 右表字段;
特有语法:
select 左表字段,右表字段
from 左表,右表
where 左表字段(+) = 右表字段;

需求:用右连接找到所有学生姓名,和所有被学生选的课程。

通用语法
select cls_name,stu_name
from class
right join stu
on cls_stu_id = stu_id;
特有语法;
select cls_name,stu_name
from class,stu
where cls_stu_id(+) = stu_id;

<br/>

最后修改于:2023年03月31日 18:08

已有 23 条评论

  1. 博主真是太厉害了!!!

  2. 怎么收藏这篇文章?

  3. 看的我热血沸腾啊https://www.ea55.com/

  4. 不错不错,我喜欢看 www.jiwenlaw.com

  5. 想想你的文章写的特别好www.jiwenlaw.com

  6. 不错不错,我喜欢看 www.jiwenlaw.com

  7. 文章的确不错啊https://www.cscnn.com/

  8. 真棒!

  9. 《香水》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/31025.html

  10. 《蜡笔小新:呼风唤雨!金矛之勇者国语》动画片高清在线免费观看:https://www.jgz518.com/xingkong/130556.html

  11. 《纯爱不和谐音》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/58062.html

  12. 哈哈哈,写的太好了https://www.lawjida.com/

  13. 文章的叙述风格独特,用词精准,让人回味无穷。

  14. 配图与文字相辅相成,直观易懂。

  15. 文章深入浅出,既有深度思考,又不乏广度覆盖,令人叹为观止。

  16. 选材新颖独特,通过细节描写赋予主题鲜活生命力。

  17. 新车首发,新的一年,只带想赚米的人coinsrore.com

  18. 2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

  19. 2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

  20. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

  21. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

  22. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

  23. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

添加新评论