MySQL数据库(五)——表联合查询

一、内查询:将两个表中同时存在的数据打印。

表1 inner join 表2 on 表1.属性 = 表2.属性

 

二、外查询:right | left

表1 left join 表2 on 表1.属性 = 表2.属性

1、左连接:

(1)将左表和右表相同属性值的结果返回;

(2)将左表存在,而右表不存在的也返回;

(3)右表对应属性值为null,将右表存在、左表不存在的忽略掉。

表1 right join 表2 on 表1.属性 = 表2.属性

2、右连接:

(1)将左表和右表相同属性值的结果返回;

(2)将右表存在、而左表不存在的数据也返回;

(3)左表不存在的属性值为null,将左表存在、右表不存在的忽略掉。

 

练习:

1、学生表
Student(SID,Sname,Sage,Ssex) 
--SID 学生编号,Sname 学生姓名,Sage 年龄,Ssex 学生性别

2.课程表
Course(CID,Cname,TID) 
--CID --课程编号,Cname 课程名称,TID 教师编号

3.教师表
Teacher(TID,Tname) 
--TID 教师编号,Tname 教师姓名

4.成绩表
SC(SID,CID,score) 
--SID 学生编号,CID 课程编号,score 分数

学生表:
编号  姓名  年龄  性别
1    赵雷  20    男
2    钱电  20    男
3    孙风  21    男
4    吴兰  18    女
5    孙兰  17    女
课程表:
课程号  课程名称  教师编号
1       语文     2
2       数学     1
3       英语     3
教师表:
教师编号   教师名
1         张三
2         李四
3         王五
成绩表:
学生编号   课程编号   分数
1         1         80
1         2         71
1         3         87
2         1         88
2         2         70
2         3         89
3         1         68
3         2         78
3         3         87
4         1         67
4         2         58
4         3         89
5         1         56
5         2         89
6         3         38

(1)查询“01”课程比“02”课程成绩高的学生的信息及课程分数:

 

(2)查询平均成绩大于等于60分的同学的学生编号、学生姓名和平均成绩:

(3)查询在SC表中不存在成绩的学生的信息:

(4)查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩:

(5)查询"李"姓老师的数量:

(6)查询学过"张三"老师授课的同学的信息:

(7)查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息:

(8)查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值