sql多表查询sql多表查询详细讲解sql多表查询语句




sql多表查询sql多表查询详细讲解sql多表查询语句

2022-07-21 2:11:44 网络知识 官方管理员

一、表的加法:union

sql多表查询(sql多表查询详细讲解)(1)

sql多表查询(sql多表查询详细讲解)(2)

如果想保留两个表中的重复值,那么使用unionall,那么重复值语文课程就被保留下来了

sql多表查询(sql多表查询详细讲解)(3)

sql多表查询(sql多表查询详细讲解)(4)

二、表的联结

  1. 交叉联结(也叫笛卡尔积crossjion

表中的每一行与另一个表中的每一行合并在一起,产生的行数是两个表行数的乘积,它的数据产生如下图所示

sql多表查询(sql多表查询详细讲解)(5)

2.内联结(innerjoin):查找出同时存在于两张表的数据

sql多表查询(sql多表查询详细讲解)(6)

sql多表查询(sql多表查询详细讲解)(7)

3.左联结(leftjoin):取出左边表的全部数据,右边的表选出与左边相同数据的行,然后进行数据合并

sql多表查询(sql多表查询详细讲解)(8)

sql多表查询(sql多表查询详细讲解)(9)

如果我想查找在左表中有而在右表中没有的数据

sql多表查询(sql多表查询详细讲解)(10)

sql多表查询(sql多表查询详细讲解)(11)

4、右联结

sql多表查询(sql多表查询详细讲解)(12)

sql多表查询(sql多表查询详细讲解)(13)

如果我想查找在右表中有而在左表中没有的数据

sql多表查询(sql多表查询详细讲解)(14)

sql多表查询(sql多表查询详细讲解)(15)

5、全联结(fulljoin)—取出左表和右表的所有数据,有相同数据就合并,没有则用Null来填充

  • MySQL是不支持全联结的

总结:

sql多表查询(sql多表查询详细讲解)(16)

三、案例应用

sql多表查询(sql多表查询详细讲解)(17)

sql多表查询(sql多表查询详细讲解)(18)

sql多表查询(sql多表查询详细讲解)(19)

sql多表查询(sql多表查询详细讲解)(20)

四、case表达式—相当于条件判断函数

sql多表查询(sql多表查询详细讲解)(21)

案例1.查询score表中学生的成绩是否及格

sql多表查询(sql多表查询详细讲解)(22)

案例2.查询每门课程的及格人数和不及格人数

sql多表查询(sql多表查询详细讲解)(23)

案例3.使用分段[100-85],[85-70][70-60],[<60]来统计各分段人数,课程号,课程名称

sql多表查询(sql多表查询详细讲解)(24)

发表评论:

最近发表
网站分类
标签列表