综合练习(二)-习题.doc

综合练习(二)-习题.doc

ID:48734484

大小:87.50 KB

页数:11页

时间:2020-02-27

综合练习(二)-习题.doc_第1页
综合练习(二)-习题.doc_第2页
综合练习(二)-习题.doc_第3页
综合练习(二)-习题.doc_第4页
综合练习(二)-习题.doc_第5页
资源描述:

《综合练习(二)-习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、综合练习(二)一、用SQL语句创建如下三张表:学生表(Student)、课程表(Course)和学生选课表(SC),三张表结构如下:注:一、二两题需要将命令放入*.sql脚本中,然后使用脚本进行创建表及数据的录入Student表结构列名说明数据类型约束sno学号字符串,长度为7主键sname姓名字符串,长度为10非空ssex性别字符串,长度为2取‘男’或‘女’sage年龄整数取值15~45sdept所在系字符串,长度为20默认为‘计算机系’Course表结构列名说明数据类型约束cno课程号字符串,长度为10主键cnam

2、e课程名字符串,长度为20非空ccredit学分整数取值大于0semster学期整数取值大于0period学时整数取值大于0SC表结构列名说明数据类型约束sno学号字符串,长度为7主键,引用Student的外键cno课程号字符串,长度为10主键,引用Course的外键grade成绩整数取值0~100答案:1、Student表CREATETABLEStudent(snoVARCHAR2(7)PRIMARYKEY,snameVARCHAR2(10)NOTNULL,ssexVARCHAR2(2)CHECK(ssex=‘男’O

3、Rssex=‘女’),sageNUMBER(2)CHECK(sage>=15ANDsage<=45),sdeptVARCHAR2(20)DEFAULT‘计算机系’)2、Course表CREATETABLECourse(cnoVARCHAR2(10)NOTNULL,cnameVARCHAR2(20)NOTNULL,ccreditNUMBER(2)CHECK(ccredit>0),semesterNUMBER(2)CHECK(semester>0),periodNUMBER(3)CHECK(period>0),CONTRA

4、INTcourse_cno_pkPRIMARYKEY(cno))3、SC表CREATETABLESC(snochar(7)NOTNULL,cnochar(10)NOTNULL,gradetinyintCHECK(grade>=0ANDgrade<=100),CONTRAINTsc_sno_cno_pkPRIMARYKEY(sno,cno),CONTRAINTstudent_sno_fkFOREIGNKEY(sno)REFERENCEStudent(sno),CONTRAINTcourse_cno_fkFOREIGNKE

5、Y(cno)REFERENCECourse(cno))二、使用SQL语句分别向Student、Course、SC表中加入如下数据:Student表数据snoSnamessexsagesdept9512101李勇男19计算机系9512102刘晨男20计算机系9512103王敏女20计算机系9512104张立男22信息系9512105钱小平女21信息系9512106吴宾女20数学系9512107王大力男19数学系Course表数据cnocnameccreditsemesterc01计算机文化学31c02Java85c03计

6、算机网络43c04数据库基础56c05高等数学62c06数据结构74C07VB34SC表数据snocnograde9512101c01909512101c029512102c01789512102c03669512103c04829512104c0675三、完成如下查询1、查询全体学生的学号和姓名SELECTsno,snamefromStudent2、查询全体学生的姓名、学号和所在系SELECTsname,sno,sdeptfromStudent3、查询全体学生的姓名及其出生年份l分析:由于Student表

7、中只记录了学生的年龄,而没有记录学生的出生年份,所以需要经过计算得到学生的出生年份,即用当前年减去年龄,得到出生年份。SELECTsname,2011–sageFROMStudent―或―SELECTsname,to_number(to_char(sysdate,’yyyy’))–sageFROMStudent4、查询全体学生的姓名和出生年份,并在出生年份列前加入一个列,此列的每行数据均为“YearofBirth”常量值SELECTsnamem,‘YearofBirth’,to_number(to_char(sysda

8、te,’yyyy’))–sageFROMStudent5、在选课表(SC)中查询有哪些学生选修了课程,并列出学生的学号SELECTsnoFROMSC在结果集中会有许多重复的行(实际上一个学生选修了多少门课程,其学号就会在结果集中重复出现多少次)。使用DISTINCT关键字就可以去掉结果集中的重复行。去掉结果集中的重复行SELECT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。