数据库系统概论以及相关程序设计
本专栏主要编写数据库系统概论(第五版)王珊、萨师煊版本,以及我在学习过程遇到的相关程序和问题
心系五道口
答案交给时间寻觅,未来不负时光所期
展开
-
MySQL基础单行函数、数学函数、日期函数
#length 获取参数值的字节个数SELECT LENGTH('john');SELECT LENGTH('心系五道口john');注:UTF-8中一个中文代表三个字节,GBK中一个中文代表两个字节----------------------------------------------------------------#contact 拼接字符串SELECT CONT...原创 2020-04-21 11:50:34 · 236 阅读 · 0 评论 -
创建和调用存储过程:查询Stu数据库中某个同学的选修课程的信息,包括学号,姓名,课程名称,成绩
CREATE PROCEDURE proc_select--建立存储过程 @Sno char(10) output,--输入输出参数 @Sname varchar(20) out,--输出参数 @Cno char(4) out,--输出参数 @grade tinyint out--输出参数 AS SELECT @Sname=Sname,@Sno=Student...原创 2018-11-11 16:45:38 · 36322 阅读 · 3 评论 -
根据SC表中的考试分数输出考试等级:大于等于90为优秀,[80,90)为良好,[70,80)为中等,[60,70)为及格,小于60为不及格。
SELECT CASE WHEN grade >= 90 THEN '优秀' WHEN grade >= 80 THEN '良好' WHEN grade >= 70 THEN '中等' WHEN grade >= 60 THEN '及格' ELSE '...原创 2018-11-11 16:44:38 · 21335 阅读 · 0 评论 -
查询没有先修课程的课程号和课程名。
select Cno,Cnamefrom Course--从课程表查询课程号、课程名where Cpno=' ';--选择没有先行课的原创 2018-11-05 08:22:24 · 14361 阅读 · 0 评论 -
查询没有选修1号课程的学生学号及姓名
select Student.Sno,Snamefrom SC --从选修表中查询学号、姓名left join Student --左连接学生表on Student.Sno not in(select Sno from SC where Cno='1')--选择没有选修1号课程的group by Student.Sno,Sname;--通过学号、姓名分组//SELECT Sna...原创 2018-11-05 08:21:24 · 26656 阅读 · 0 评论 -
查询选修了2号和3号课程的学生学号及姓名。
select Student.Sno,Sname from SC --从学生表中查询学号、姓名inner join Student--内连接学生表on Student.Sno=SC.Sno and (Cno='2'or Cno='3')--选择选修了2号和3号课程的group by Sname,Student.Sno;--通过姓名、学号分组 ...原创 2018-11-05 08:20:26 · 33171 阅读 · 6 评论 -
查询和刘晨同龄学生的学号和姓名
SELECT Sno, Snamefrom Student--从学生表中查询学号、姓名where Sage=(select Sagefrom Studentwhere Sname='刘晨')--选择跟刘晨一样年龄的原创 2018-11-05 08:18:58 · 5760 阅读 · 2 评论 -
查询成绩大于各门课程平均成绩的所有学生的学号、课程号和成绩
select Sno,Cno,Gradefrom SC x--从选修表中选择学号、课程号、成绩WHERE Grade>(select avg(Grade)--选择成绩大于平均成绩的from SC ywhere y.Sno=x.Sno);--通过学号连接...原创 2018-11-05 08:17:48 · 46951 阅读 · 6 评论 -
查询总学分超过8个学号和学分。
select Student.Sno,Sum(Ccredit) SumCreditfrom Student--从学生表中查询学号、总学分left join SC on SC.Sno=Student.Sno--通过学号左连接选修表left join Course on Course.Cno=SC.Cno--通过课程号左连接课程表Group by Sname,Student.Sno--...原创 2018-11-05 08:16:26 · 3931 阅读 · 0 评论 -
查询李姓学生的学号、姓名、性别和所在系信息
select Sno,Sname,Ssex,Sdeptfrom Student --从学生表中查询学号、姓名、性别、系别where Sname like '李%';--选择姓李的学生原创 2018-11-05 08:12:47 · 21165 阅读 · 0 评论 -
查询没有选修数据库课程的学生学号和姓名
select Sname,Student.Snofrom Student --从学生表中查询姓名、学号left join SC on SC.Sno=Student.Sno --通过课程号左连接选修表left join Course on SC.Cno=Course.Cno--通过课程号左连接课程表where Student.Sno not in(select Sno from S...原创 2018-11-05 08:10:03 · 58272 阅读 · 0 评论 -
查询选修课程的课程号、课程名和平均成绩
select Course.Cno,Cname,avg(Grade) avgGradefrom Course--从课程表中查询课程号、课程名、平均成绩left outer join SC on SC.Cno=Course.Cno--通过课程号左连接选修表Group by Cname,Course.Cno;--按课程名、课程号分组...原创 2018-11-04 16:15:29 · 13587 阅读 · 0 评论 -
查询所有学生选课获得的总学分。
select Sname,Sum(Ccredit) SumCreditfrom Student--从学生表中查询姓名、总学分left join SC on SC.Sno=Student.Sno--通过学号左连接选修表left join Course on Course.Cno=SC.Cno--通过课程号左连接课程表Group by Sname; --按名字分组...原创 2018-11-04 16:14:28 · 13826 阅读 · 0 评论 -
查询CS系的学生学号、姓名、年龄,并按年龄降序排列。
select Sno,Sname,Sagefrom Student--从学生表中查询学号、姓名、年龄where Sdept='CS'--系名为CSORDER by Sage DESC--根据年龄降序原创 2018-11-04 16:13:27 · 14778 阅读 · 0 评论 -
查询与李勇在同一个系的学生信息。
.SELECT Sno,Sname,Ssex,Sagefrom Student--从学生表中查询学号、姓名、性别、年龄where Sdept in(select Sdept from Student where Sname='李勇')--跟李勇同系And Sname<>’李勇’;--不包含李勇...原创 2018-11-04 16:12:17 · 12213 阅读 · 0 评论 -
查询所有学生的姓名、选修课程名和成绩。
select Sname,Cname,Gradefrom Student--从学生表中查询学生姓名、课程名、成绩left join SC on SC.Sno=Student.Sno --通过学号左连接选修表left join Course on SC.Cno=Course.Cno--通过课程号左连接课程表...原创 2018-11-04 16:11:05 · 25559 阅读 · 0 评论 -
查询每位选课学生的姓名、选修课程名和成绩
select Student.Sname,Cname,Gradefrom Student,Course,SC--从三个表中查询学生姓名、课程名、成绩WHERE Student.Sno=SC.Sno and Course.Cno=SC.Cno--选择选修学生和选修课程名原创 2018-11-04 16:08:58 · 20362 阅读 · 0 评论 -
查询年龄20岁(含)以上的男生的学号和姓名
.select Sno,Snamefrom Student--从学生表中查询学号、姓名where Sage>=20 and Ssex='男'--限制年龄大于(含)20岁并且为男性原创 2018-11-04 16:07:49 · 14463 阅读 · 0 评论 -
用SQL语句创建课程表
create table Course( Cno char(4), Cname varchar(20), Cpno char(4), Ccredit int, )insertinto Coursevalues('1','数据库','5','4'),('2','数学',' ','2'),('3','信息系统','1','4'),('4','操作系统','6...原创 2018-11-04 15:58:07 · 10290 阅读 · 3 评论 -
用SQL语句创建选修表SC
create table Student_course( Sno char(10), Cno char(4), Grade tinyint, )insertinto SC(Sno,Cno,Grade)values('201215121','1','92'),('201215121','2','85'),('201215121','3','88'),('20121512...原创 2018-11-04 16:00:27 · 7473 阅读 · 1 评论 -
用SQL语句创建学生表
create table Student( Sno char(10), Sname varchar(20), Ssex char(2), Sage tinyint, Sdept varchar(20), )insertinto Studentvalues('201215121','李勇','男','20','CS'),('201215122','刘晨','女','...原创 2018-11-04 15:45:50 · 26176 阅读 · 1 评论