黑马程序员-传智播客SQL题

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

表一:student_info

学号

姓名

性别

出生年月

家庭住址

备注

0001

张三

1981-8-9

北京

NULL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

表二:curriculum

课程编号

课程名称

学分

0001

计算机基础

2

0002

C语言

2

 

表三:grade

学号

课程编号

分数

0001

0001

80

0001

0002

90

 

题目:

条件查询:

1.  在GRADE表中查找80-90份的学生学号和分数

select 学号,分数 from grade where 分数 between 80 and90

2.  在GRADE 表中查找课程编号为003学生的平均分

   selectavg(分数)from grade where 课程编号='003'

3.  在GRADE 表中查询学习各门课程的人数

Select课程编号,count(学号)as 人数from grade group by 课程编号

4.  查询所有姓张的学生的学号和姓名

   select  姓名,学号from student_info where姓名like '%'

 

嵌套查询:

1、 查询和学号’0001’的这位同学性别相同的所有同学的姓名和出生年月

 select 姓名,出生年月from student_info where 性别in(select性别 from student_info wheresno='0001')

2、 查询所有选修课程编号为0002 和0003的学生的学号、姓名和性别

select 学号,姓名,性别fromstudent_info where 学号in(select 学号 from grade where课程编号='0002'and 学号 in(select学号from grade where 课程编号='0001'))

3、 查询出学号为0001的学生的分数比0002号学生最低分高的课程编号的课程编号和分数

select 课程编号, 分数from grade where 学号='0001'and 分数>(selectmin(分数)from grade where学号='0002')

多表查询:

1、 查询分数在80-90分的学生的学号、姓名、分数

select student_info.学号,student_info.姓名,grade.分数fromstudent_info,gradewheregrade.分数 between 80 and 90

2、 查询学习了’C语言’课程的学生学号、姓名和分数

select student_info.学号,student_info.姓名,grade.成绩from student_info,grade,curriculumwhere student_info.学号=grade.学号and grade.课程号=curriculum.课程号and curriculum.课程名='C语言'

3、 查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选课的学生总成绩为空。

 

select grade.学号,student_info.姓名,sum(grade.成绩)as 总成绩from student_info,gradewhere grade.学号=student_info.学号groupby grade.学号,student_info.姓名

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值