横泉水库建设管理局网站,建设网站需要哪些材料,阿里有做网站,泉州建站平台目录课程名#xff1a;数据库系统内容/作用#xff1a;设计/实验/作业/练习学习#xff1a;T-SQL数据查询功能-多表查询一、前言二、环境与设备三、内容四、内容练习题目#xff1a;对应题目答案#xff1a;五、总结课程名#xff1a;数据库系统
内容/作用#xff1a;设…
目录课程名数据库系统内容/作用设计/实验/作业/练习学习T-SQL数据查询功能-多表查询一、前言二、环境与设备三、内容四、内容练习题目对应题目答案五、总结课程名数据库系统
内容/作用设计/实验/作业/练习
学习T-SQL数据查询功能-多表查询
一、前言
1熟悉使用Select…from语句进行单表数据查询 2能将这些更新操作应用于实际操作中去。 3掌握Where语句、order by语句、group by语句、having语句的使用方法 4理解多表内连接、外连接的使用 5理解嵌套查询的执行过程 6掌握多表连接查询和嵌套查询
二、环境与设备
1、设备Windows 10 2、软件MySQL 8.0和Navicat 12 for MySQL
三、内容 数据库与表之间的关系数据库是由各种数据表组成的数据表是数据库中最重要的对象用来存储和操作数据的逻辑结构。 SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体是一个综合的、通用的、功能极强的同时又简洁易学的语言。
select distinct 输出字段名列表
from 表名列表
where 筛选条件 and 连接条件
group by 分组字段
having 分组后的条件
order by 排序字段 asc|desc
limit 偏移量起始行号行数注意 1若输出表中全部字段则可使用*代替2查询结果消除重复值distinct3limit语句中的偏移量起始行号默认从0开始4字段重命名字段名|表达式 as 新名字5聚合函数的使用count-个数、sum-求和、avg-平均值、max-最大值、min-最小值
常用函数year()-求年份 now()—返回系统日期时间四、内容
练习题目
1、 查询学生选课信息列出学号、姓名、性别、课程号、课程名、学分、成绩 2、 查询选修了1610课程且成绩及格的学生信息列出学号、姓名、课程号、课程名、成绩 3、 查询选修的课程名中包含“应用”两字的学生选课信息。列出学号、课程号、课程名、成绩 4、 统计每位学生所选课程及格的课程门数列出学号、姓名、及格课程门数 5、 统计每个学生所获的总学分列出学号、姓名、总学分按总学分降序排列 6、 统计每个学生选课信息列出学号、姓名、选课门数、最高分、最低分、平均分、总分 7、 查询选课门数最多的学生选课信息列出其姓名选课门数 8、 分别统计各年份出生的男生人数和女生人数 9、 查询选修了课程的学生信息列出学生的学号姓名课程号课程名及成绩 10、 查询未选修课程的学生信息列出学号姓名 11、 查询未被选修的课程信息列出课程号课程名 12、 查询入学成绩高于平均入学成绩的学生信息列出学号姓名及入学成绩 13、 查询年龄最大的学生信息。列出学号姓名及年龄 14、 查询选课成绩最高的学生信息列出其学号姓名、课程号及选课成绩。
对应题目答案
1、 查询学生选课信息列出学号、姓名、性别、课程号、课程名、学分、成绩
select *
from student,sc,course
where student.snosc.sno and sc.cidcourse.cid2、 查询选修了1610课程且成绩及格的学生信息列出学号、姓名、课程号、课程名、成绩
select sc.sno,sname,sc.cid,cname,scores
from student,sc,course
where student.snosc.sno and sc.cid1610 and scores603、 查询选修的课程名中包含“应用”两字的学生选课信息。列出学号、课程号、课程名、成绩
select sc.sno,sc.cid,cname,scores
from student,course,sc
where cname like %应用% and student.snosc.sno and sc.cidcourse.cid4、 统计每位学生所选课程及格的课程门数列出学号、姓名、及格课程门数
select student.sno,student.sname,count(scores)
from student,sc
where student.snosc.sno and sc.scores60
group by sc.sno5、 统计每个学生所获的总学分列出学号、姓名、总学分按总学分降序排列
select sc.sno,student.sname,sum(credit)
from student,sc,course
where student.snosc.sno and sc.cidcourse.cid
group by sc.sno
order by sum(credit) desc6、 统计每个 学生选课信息列出学号、姓名、选课门数、最高分、最低分、平均分、总分
select student.sno,student.sname,count(cid),max(scores),min(scores),avg(scores),sum(scores)
from student,sc
where student.snosc.sno
group by student.sno7、 查询选课门数最多的学生选课信息列出其姓名选课门数
select student.sname,count(*)
from student,sc
where student.snosc.sno
group by student.sname
order by count(*) desc
limit 0,18、 分别统计各年份出生的男生人数和女生人数
select year(birthdate) as 年份,sex,count(*)
from student
group by year(birthdate),sex
order by 1,3 desc9、查询选修了课程的学生信息列出学生的学号姓名课程号课程名及成绩
select student.sno,sname,sc.cid,course.cname,scores
from sc,student,course
where student.snosc.sno and course.cidsc.cid10、 查询未选修课程的学生信息列出学号姓名
select sc.sno,sname
from sc right join student on sc.snostudent.sno
where sc.sno is not null
法2select sno,sname from student where not exists(
select * from sc where snostudent.sno)11、 查询未被选修的课程信息列出课程号课程名
select
from
where12、 查询入学成绩高于平均入学成绩的学生信息列出学号姓名及入学成绩
select
from
where13、 查询年龄最大的学生信息。列出学号姓名及年龄
select *,year(now())-year(birthdate)
from student
order by 3 desc
limit 0,2法2:
select sno,sname,year(now())-year(birthdate)
from student
where year(now())-year(birthdate)(
select max(year(now())-year(birthdate))
from student)14、 查询选课成绩最高的学生信息列出其学号姓名、课程号及选课成绩。
select *
from sc
where scores90
union
select *
from sc
where scores60create view stuino as
select sno,sname from student五、总结
好好学习天天向上。