MySQL中多表连接查询

MySQL中多表连接查询学生信息表 student name 和学生成绩表 score 在关系型数据库中 表与表之间是有联系的 所以在实际应用中 经常使用多表查询 多表查询就是同时查询两个或两个以上的表 当连接的表之间没有关系时 这时返回结果就是两个表的笛卡尔积 返回

欢迎大家来到IT世界,在知识的湖畔探索吧!

MySQL中多表连接查询

学生信息表student_name和学生成绩表score

在关系型数据库中,表与表之间是有联系的,所以在实际应用中,经常使用多表查询。多表查询就是同时查询两个或两个以上的表。

当连接的表之间没有关系时,这时返回结果就是两个表的笛卡尔积,返回结果数量就是两个表的数据行相乘。需要注意的是,如果每个表有 1000 行,那么返回结果的数量就有 1000×1000 = 行,数据量是非常巨大的。

#1 没有加连接条件,查询结果为笛卡尔积

select * from student_name inner join score;

MySQL中多表连接查询

查询结果为笛卡尔积

#2 使用sql92语法查询学生姓名和相对应的课程名称、成绩

select * from student_name stu,score sc where stu.id = sc.sid;

MySQL中多表连接查询

sql92语法

#3 使用内连接查询学生姓名和相对应的课程名称、成绩

select * from student_name stu inner join score sc where stu.id = sc.sid ;

MySQL中多表连接查询

内连接查询

#4 使用左连接在student_name表和score表中查询所有学生姓名和相对应的课程信息,包括没有课程的学生

select * from student_name stu left join score sc on stu.id = sc.sid;

MySQL中多表连接查询

左连接

#5 使用左连接在student_name表和score表中查询没有课程的学生

select * from student_name stu left join score sc on stu.id = sc.sid where sid is null;

MySQL中多表连接查询

#6 使用左连接在student_name表和score表中查询指定学生姓名(张)和相对应的课程信息

select * from student_name stu left join score sc on stu.id = sc.sid where stu.name = ‘张’;

MySQL中多表连接查询

#7使用右连接在student_name表和score表中查询所有学生姓名和相对应的课程信息,包括没有学生的课程

select * from student_name stu right join score sc on stu.id = sc.sid;

MySQL中多表连接查询

#8 使用右连接在student_name表和score表中查询没有学生的课程

select * from student_name stu right join score sc on stu.id = sc.sid where stu.id is null;

MySQL中多表连接查询

#9使用union合并结果集在student_name表和score表中查询所有学生姓名和相对应的课程信息,包括没有课程的学生和没有学生的课程

select * from student_name stu left join score sc on stu.id = sc.sid

union

select * from student_name stu right join score sc on stu.id = sc.sid;

MySQL中多表连接查询

#10使用union合并结果集在student_name表和score表中查询没有课程的学生和没有学生的课程

select * from student_name stu left join score sc on stu.id = sc.sid where sid is null

union

select * from student_name stu right join score sc on stu.id = sc.sid where stu.id is null;

MySQL中多表连接查询

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/83741.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信