本文主要是介绍SQL数据库上机作业表单的基本操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
--第一题--列出所有不属于必修课程但有学生选修的课程号,课程名。
select courseName as 课程名称, studentCon as 课程号 from courses
where isMust='F' and StudentCon in(select studentCon from scores );
--第二题--将所有学号当中没有“1”这个数字的同学信息列出来
select * from student where studentNum not like '%1%';
--第三题--查询出生日期在89年1月1日至89年3月1日的学生的名单 。
select studentName from student where (studentBirthday >='1989-01-01') and( studentBirthday <='1989-03-01');
--第四题--列出所有学生选修的课程号,去掉重复值。
select distinct studentCon from scores;
--第五题--查询选修了“程序设计基础”课而且选修课程数大于4 门的所有学生的学号、姓名与专业
select student.studentNum, student.studentName,department.departName
fromstudent inner join department
onstudent.departmentNum=department.departmentNum,scores
wherestudent.studentNum in
(
select scores.studentNum from scores group by
scores.studentNum having count(scores.studentCon)>4
)
andscores.studentCon in(
selectcourses.StudentCon from courses
wherecourses.courseName='课程设计基础'
)
--第六题--将所有选课人数多于40人的课程名与学分、学时列出来
select courseName as 课程名,courseCredit as 学分,courseHours as 学时
from courses
where studentCon in(select studentCon from courses
group by studentCon
having count(studentCon)>4);
--第七题--查询入学成绩高出平均成绩10分的学生信息。
select * from student
where studentResult>(select AVG(studentResult)+10 from student);
--第九题--列出成绩为满分的学生的学号和课号及专业
select student.studentNum as 学号,scores.studentCon as 课程号,department.departName as 专业
from scores innerjoin student
on
student.studentNum=scores.studentNum
inner join department
on department.departmentNum=student.departmentNum
where scores.conResult=100;
--第十题--. 查询选修了“软件基础”课的学生学号,姓名。
select student.studentNum as 学号,student.studentName
from student innerjoin scores
on student.studentNum=scores.studentNum
inner join courses
on scores.studentCon=courses.StudentCon
where courses.courseName='软件基础';
--第十一题--查询其中有一门课成绩大于 80 分的学生学号、姓名与专业。
select student.studentName as 姓名,department.departName as 专业,student.studentNum as 学号
from student innerjoin department
on student.departmentNum=department.departmentNum
inner join scores
on scores.studentNum=student.studentNum
where scores.conResult>80;
--第十二题--查询选修了“数据库概论”课而且成绩大于 70 分的学生学号,姓名与专业。
select student.studentNum as 学号,student.studentName as 姓名,department.departName as 专业
from student innerjoin department
on student.departmentNum=department.departmentNum
inner join scores
on student.studentNum=scores.studentNum
inner join courses
on scores.studentCon=courses.StudentCon
where courses.courseName='数据库概论' and scores.conResult>80;
--第十三题-- 查询姓“田”的同学的信息,要求不能使用like。
select * from student
where CHARINDEX('田',student.studentName)>0;
--第十四题--.查询没有选修“程序设计基础”课的学生学号,姓名与专业
select * from student where student.studentNum not in(
selectstudent.studentNum
fromstudent inner join scores
onscores.studentNum=student.studentNum
innerjoin courses
oncourses.StudentCon=scores.studentCon
wherecourses.courseName='程序设计基础'
);
这篇关于SQL数据库上机作业表单的基本操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!