SQL数据库的问题目
1.三个表(关于学生信息的)简单的查询,多表查询,查询没有选某课程的,等等2.SQL数据库的增删改查语句等....
1.三个表(关于学生信息的)简单的查询,多表查询,查询没有选某课程的,等等2.SQL数据库的增删改查语句等.
展开
4个回答
展开全部
这是在一个student数据库上建立的查询,你可以把邮箱告诉我,我把数据库文件发给你,当然如果你想自己建的话也行,下面是三张表。
sno sname ssex sage sdept
200215121 李勇 男 20 CS
200215122 刘晨 女 19 CS
200215123 王敏 女 18 MA
200215125 张立 男 19 IS
cno cname cpno ccredit
1 数据库 5 4
2 数学 NULL 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 NULL 2
7 PASCAL语言 6 4
sno cno grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
--1.查询所有年龄在20岁以下的学生姓名及其年龄。
select sname,sage
from student
where sage<20
--2.查询考试成绩有不及格的学生的学号。
select sno
from sc
where grade<60
--3.查询年龄不在19~22岁之间的学生姓名、系别和年龄。
select sname,sdept,sage
from student
where sage not between 19 and 22
--4.查询既不是信息系,也不是计算机科学系的学生的姓名和性别。
select sname,ssex
from student
where sdept not in ('IS','CS')
--5.查询所有姓刘学生的姓名、学号和性别
select sname,sno,ssex
from student
where sname like '刘%'
--6.在Course数据表中添加记录('8','DB_design','2',4),并查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况
select *
from course
where cname like 'DB\_%i__%' escape'\'
--7.在SC数据表中添加记录('200215123','1',null),并查询所有有成绩的学生学号和课程号
select sno,cno
from sc
--8.查询全体学生情况,查询结果按所在系的系号降序排列,同一系中的学生按年龄升序
select *
from student
order by sdept desc,sage asc
--9.计算2号课程的学生平均成绩。
select AVG(grade)
from sc
where cno='2'
--10在SC数据表中添加记录('200215123','1',23),统计出不及格的同学学号和不及格的门数。
select student.sno,count(grade)
from sc,student
group by student.sno
having grade<60
--11.查询选修1号课程的学生最高分数。
select MAX(grade)
from sc
where cno='1'
--12.查询学生200215121选修课程的总学分数。
select SUM(grade)
from sc
where sno='200215121'
--13.求各个课程号及相应的选课人数
select cno,COUNT(sno)
from sc
group by cno
--14.查询选修了2门以上(包括2门)课程的学生学号
select sno
from sc
group by sno
having count(*)>=2
--15.查询成绩大于等于90分的学生的学号和姓名
select student.sno,sname
from student,sc
where grade>90
--16.查询选修了“数据库”课程的学生的学号和姓名
select student.sno,sname
from student inner join sc on student.sno=sc.sno
where cno=(select cno from course where cname='数据库')
--17.查询选修了3号课程且成绩高于此课程平均成绩的学号和成绩
select student.sno,grade
from student inner join sc on student.sno=sc.sno
where cno='3'
and grade>(select AVG(grade) from sc)
--18.查询没有选修1号课程的学生姓名。
select sname
from student,sc
where cno!='1'
--1.建立计算机系选修了2号课程的学生视图V1
create view v1
as
select sno,sname,ssex,sage,sdept
from student,course
where sdept='cs' and cno='2'
--2.建立信息系选修了1号课程且成绩在90分以上的学生的视图V2
create view v2
as
select student.sno,sname,ssex,sage,sdept
from student,course,sc
where course.cno='2' and grade>90
--3.将每门课程的课程号和平均成绩定义为一个视图V3
create view v3(cno,avg_grade)
as
select cno,avg(grade)
from sc
group by cno
--三、创建和执行下列存储过程:
--o 创建语句格式:
--n CREATE Proc[edure] 存储过程名
--[{@参数名 数据类型}[=default][output]]
--As
--Sql语句[…n]
--o 执行语句格式:
--n [exec[ute]] 存储过程名[实参[,output][,…n]
--1.查询计算机系学生的考试成绩,列出学生的姓名、课程名和成绩。
select sname,cno,grade
from student,sc
where sdept='cs'
--2.查询某个指定系学生的考试成绩,列出学生的姓名、所在系、课程名和成绩。
select sname,sdept,cname,grade
from student,sc,course
where sdept='%'
--3.查询某个学生某门课程的考试成绩,列出学生的姓名、课程名和成绩。
select sname,cno,grade
from student,sc
where sname='%' and cname='%'
--4.查询某个学生某门课程的考试成绩,若没有指定课程,则默认课程为“数据库基础”。
select sname,cno,grade
from student,sc
where sname='%' and cname='%'
--5.统计指定课程的平均成绩,并将统计的结果用输出参数返回。
--6.创建带删除数据的存储过程,要求删除考试成绩不及格学生的修课记录。
--7.创建带修改数据的存储过程,要求将指定的课程的学分增加2分。
sno sname ssex sage sdept
200215121 李勇 男 20 CS
200215122 刘晨 女 19 CS
200215123 王敏 女 18 MA
200215125 张立 男 19 IS
cno cname cpno ccredit
1 数据库 5 4
2 数学 NULL 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 NULL 2
7 PASCAL语言 6 4
sno cno grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
--1.查询所有年龄在20岁以下的学生姓名及其年龄。
select sname,sage
from student
where sage<20
--2.查询考试成绩有不及格的学生的学号。
select sno
from sc
where grade<60
--3.查询年龄不在19~22岁之间的学生姓名、系别和年龄。
select sname,sdept,sage
from student
where sage not between 19 and 22
--4.查询既不是信息系,也不是计算机科学系的学生的姓名和性别。
select sname,ssex
from student
where sdept not in ('IS','CS')
--5.查询所有姓刘学生的姓名、学号和性别
select sname,sno,ssex
from student
where sname like '刘%'
--6.在Course数据表中添加记录('8','DB_design','2',4),并查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况
select *
from course
where cname like 'DB\_%i__%' escape'\'
--7.在SC数据表中添加记录('200215123','1',null),并查询所有有成绩的学生学号和课程号
select sno,cno
from sc
--8.查询全体学生情况,查询结果按所在系的系号降序排列,同一系中的学生按年龄升序
select *
from student
order by sdept desc,sage asc
--9.计算2号课程的学生平均成绩。
select AVG(grade)
from sc
where cno='2'
--10在SC数据表中添加记录('200215123','1',23),统计出不及格的同学学号和不及格的门数。
select student.sno,count(grade)
from sc,student
group by student.sno
having grade<60
--11.查询选修1号课程的学生最高分数。
select MAX(grade)
from sc
where cno='1'
--12.查询学生200215121选修课程的总学分数。
select SUM(grade)
from sc
where sno='200215121'
--13.求各个课程号及相应的选课人数
select cno,COUNT(sno)
from sc
group by cno
--14.查询选修了2门以上(包括2门)课程的学生学号
select sno
from sc
group by sno
having count(*)>=2
--15.查询成绩大于等于90分的学生的学号和姓名
select student.sno,sname
from student,sc
where grade>90
--16.查询选修了“数据库”课程的学生的学号和姓名
select student.sno,sname
from student inner join sc on student.sno=sc.sno
where cno=(select cno from course where cname='数据库')
--17.查询选修了3号课程且成绩高于此课程平均成绩的学号和成绩
select student.sno,grade
from student inner join sc on student.sno=sc.sno
where cno='3'
and grade>(select AVG(grade) from sc)
--18.查询没有选修1号课程的学生姓名。
select sname
from student,sc
where cno!='1'
--1.建立计算机系选修了2号课程的学生视图V1
create view v1
as
select sno,sname,ssex,sage,sdept
from student,course
where sdept='cs' and cno='2'
--2.建立信息系选修了1号课程且成绩在90分以上的学生的视图V2
create view v2
as
select student.sno,sname,ssex,sage,sdept
from student,course,sc
where course.cno='2' and grade>90
--3.将每门课程的课程号和平均成绩定义为一个视图V3
create view v3(cno,avg_grade)
as
select cno,avg(grade)
from sc
group by cno
--三、创建和执行下列存储过程:
--o 创建语句格式:
--n CREATE Proc[edure] 存储过程名
--[{@参数名 数据类型}[=default][output]]
--As
--Sql语句[…n]
--o 执行语句格式:
--n [exec[ute]] 存储过程名[实参[,output][,…n]
--1.查询计算机系学生的考试成绩,列出学生的姓名、课程名和成绩。
select sname,cno,grade
from student,sc
where sdept='cs'
--2.查询某个指定系学生的考试成绩,列出学生的姓名、所在系、课程名和成绩。
select sname,sdept,cname,grade
from student,sc,course
where sdept='%'
--3.查询某个学生某门课程的考试成绩,列出学生的姓名、课程名和成绩。
select sname,cno,grade
from student,sc
where sname='%' and cname='%'
--4.查询某个学生某门课程的考试成绩,若没有指定课程,则默认课程为“数据库基础”。
select sname,cno,grade
from student,sc
where sname='%' and cname='%'
--5.统计指定课程的平均成绩,并将统计的结果用输出参数返回。
--6.创建带删除数据的存储过程,要求删除考试成绩不及格学生的修课记录。
--7.创建带修改数据的存储过程,要求将指定的课程的学分增加2分。
展开全部
你连最基本的SQL都不会写 还做什么数据库啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表结构列一下,没时间帮你设计表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询