最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

SQL语句练习及参

来源:动视网 责编:小OO 时间:2025-09-28 00:41:17
文档

SQL语句练习及参

SQL语句练习1.设学生选课数据库有关系S(sno,sname,age,sex)、SC(sno,cno,grade)和C(cno,cname,teacher),分别表示学生、选课和课程,sno代表学号,sname代表学生姓名,age代表年龄,sex代表性别,grade代表成绩,cno代表课程号,teacher代表任课教师。试完成表示下列查询。 Ssnosnameagesex1李强23男2刘丽22女5张友22男 SCsnocnograde1k1832k1855k1922k5905k5845k88
推荐度:
导读SQL语句练习1.设学生选课数据库有关系S(sno,sname,age,sex)、SC(sno,cno,grade)和C(cno,cname,teacher),分别表示学生、选课和课程,sno代表学号,sname代表学生姓名,age代表年龄,sex代表性别,grade代表成绩,cno代表课程号,teacher代表任课教师。试完成表示下列查询。 Ssnosnameagesex1李强23男2刘丽22女5张友22男 SCsnocnograde1k1832k1855k1922k5905k5845k88
SQL语句练习

1.设学生选课数据库有关系S(sno,sname,age,sex)、SC(sno,cno,grade)和C(cno,cname,teacher),分别表示学生、选课和课程,sno代表学号,sname代表学生姓名,age代表年龄,sex代表性别,grade代表成绩,cno代表课程号,teacher代表任课教师。试完成表示下列查询。

 S
snosnameagesex
1李强23
2刘丽22
5张友22
 SC
snocno 

grade
1k183
2k185
5k192
2k590
5k584
5k880
cnocnameteacher
k1C语言

王华
k5数据库原理程军
k8编译原理程军
                                                                          

(1)检索年龄大于21的男学生学号(sno)和姓名(sname)。   

(2)建立性别只能为“男”、“女”的约束。             

(3)创建一个视图v1,该视图用来查询学生的选课情况,要求包含:学生姓名(sname),课程名(cname),任课教师teacher和成绩grade。  

(4)检索选修课程号为k1和k5的学生学号(sno)。            

(5)检索全部学生都选修的课程的课程号(cno)和课程名(cname)。

(6)删除所有男同学的选课记录。

1.(1)select sno,snae from s where sex=’男’ and age>21

(2)alter table s add constraint c1 check sex in (‘男’,’女’) 

(3)create view v1 as select sname,cname,teacher,grade from s,sc,c where s.sno=sc.sno and sc.cno=c.cno

(4)select sno from sc sc1 where cno=’k1’ and exists (select * from sc sc2 where sc1.sno =sc2.sno and sc2.cno=’k5’) 

(5)select cno,cnam from c where not exists (select * from s where not exists (select * from sc where sc.cno=c.cno and s.sno=sc.sno) 

(6)delete from sc where sno in (select sno from s where sex=’ 男’)

或 delete sc from sc,s  where s.sno=sc.sno  and  sex=’ 男’

2.设图书借阅数据库有关系图书(图书编号,书名,作者,出版社,出版时间,图书类别)、读者(读者编号,姓名,读者类别)和借阅(读者编号, 图书编号, 借阅日期,还期)。其中,读者类别为字符型,可以取值‘学生’和‘教师’,图书类别为字符型,取值为‘经济类’、‘管理类’、‘外语类’、‘计算机类’等。试用SQL语句完成下列查询。

对图书借阅数据库完成以下操作:

(1)查询借阅了作者为“张强”的图书的读者编号和图书编号。

(2)创建一个视图v1,该视图用来查询教师的借阅情况,要求包含:教师姓名、书名、借阅日期、还期。                                                         

(3)查询所借的书名中包含“程序设计”这四个字的读者的读者编号和借阅日期。

(4)根据图书类别统计各类图书的借书数量并按数量由大到小排序。  

(5)删除出版社是“电子出版社”的借录。     

(6)查询借阅了“电子出版社”和“机械出版社”出版的图书的读者编号。

3.现有关系数据库如下: 

学生(学号,姓名,性别,专业、奖学金) 

课程(课程号,课程名,学分) 

选课(学号,课程号,分数)

(1)列出学号为“98001”的已有成绩的各门课名称与成绩。

(2)删除姓名为“陈红”的所有选课记录。

(3)检索获得奖学金、并且至少有一门课程成绩在90分以上的学生信息,包括学号、姓名和专业。

(4)将对选课表的全部权限授予用户王平,并且王平可以授权给其它用户。

(5)求学号为“785222”的学生所选课程的总学分。

(6)将课程名为 “数据库”的成绩置为0。

(7)在选课情况表中插入各门课的选课信息。

参:

1.(1)select sno,snae from s where sex=’男’ and age>21

(2)alter table s add constraint c1 check sex in (‘男’,’女’) 

(3)create view v1 as select sname,cname,teacher,grade from s,sc,c where s.sno=sc.sno and sc.cno=c.cno

(4)select sno from sc sc1 where cno=’k1’ and exists (select * from sc sc2 where sc1.sno =sc2.sno and sc2.cno=’k5’) 

(5)select cno,cnam from c where not exists (select * from s where not exists (select * from sc where sc.cno=c.cno and s.sno=sc.sno) 

(6)delete from sc where sno in (select sno from s where sex=’ 男’)

或 delete sc from sc,s  where s.sno=sc.sno  and  sex=’ 男’

2.(1)select 读者编号,图书编号 from 借阅,图书 where 借阅.图书编号=图书.图书编号 and 作者 =’张强’ 

(2)create ciew v1 as select 教师姓名,书名,借阅日期,还期 from 读者,图书,借阅 where 读者.读者编号=借阅. 读者编号 and借阅.图书编号=图书.图书编号 and 读者类别=’教师’ 

(3)select读者编号, 借阅日期 from图书,借阅 where 借阅.图书编号=图书.图书编号 and 书名 like ‘%程序设计%’ 

(4)select 图书类别,count(图书编号) from 图书,借阅 where 借阅.图书编号=图书.图书编号 group by图书类别 order by count(图书编号) desc

(5)delete 借阅 from 图书,借阅 where 借阅.图书编号=图书.图书编号 and 出版社=

‘电子出版社’

或 delete from 借阅  where 图书编号 in (select  图书编号 from 图书 where出版社=

‘电子出版社’)

(6)select 读者编号 from 读者 a where exists (select * from借阅 w1 where a. 读者编号=w. 读者编号 and 图书编号 in (select图书编号 from图书 where出版社=‘电子出版社’) and  exists (select * from 借阅 w2  where 图书编号 in (select图书编号 from图书 where出版社=‘机械出版社’ and a.读者编号=w2. 读者编号)  

3. (1)SELECT 课程名,成绩 FROM 课程,选课 WHERE 课程.课程号=选课.课程号 AND 学号=“98001” AND 成绩 IS NOT NULL

(2)DELETE  FROM 选课 WHERE  学号  IN  (SELECT  学号  FROM  学生  WHERE  姓名=’陈红’)

(3)SELECT  学号,姓名,专业 FROM 学生 WHERE 奖学金>0  AND  EXISTS

  (SELECT * FROM 选课 WHERE 学生.学号=选课.学号 AND 成绩>95)

(4)GRANT ALL PRIVILEGES ON 选课 TO 王平 WITH  GRANT  OPTION

(5)SELECT SUM(学分) FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 AND 

选课.课程号=课程.课程号 AND 学号=“785222”

(6)UPDATE 选课 SET 成绩=0 WHERE 课程号=(SELECT 课程号 FROM 课程

WHERE 课程名=“数据库”

(7)INSERT INTO选课情况 SELECT 课程号,课程名,COUNT(*) FROM 选课

     GROUP BY 课程号

文档

SQL语句练习及参

SQL语句练习1.设学生选课数据库有关系S(sno,sname,age,sex)、SC(sno,cno,grade)和C(cno,cname,teacher),分别表示学生、选课和课程,sno代表学号,sname代表学生姓名,age代表年龄,sex代表性别,grade代表成绩,cno代表课程号,teacher代表任课教师。试完成表示下列查询。 Ssnosnameagesex1李强23男2刘丽22女5张友22男 SCsnocnograde1k1832k1855k1922k5905k5845k88
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top