SQL上机题目总和

USE S_T;
--将course表的cpno的长度改为3


--将student表中的sdept列的长度改为50
 
 
--给student表中的ssex列的增加默认约束,默认值为“男”



--为course表增加一列teacher,char(8)



--删除course表的teacher列



--为每个表设一个主键



--为S表增加一个唯一索引s_sno



--为SPJ表加外键约束(若建表时已经建立外键,可以先删除某个已有外键,重新建立)



--为SPJ表增加列qty的检查约束,要求qty>0



--为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序



--(3)预习INSERT INTO语句的用法,完成以上所有数据库表的记录输入



--1、打开“实验四”中的学生-课程数据库(S_T),完成以下查询
USE S_T;
--(1)查询全体学生的姓名、出生年份及所在系。(掌握计算列的显示结果)



--(2)查询选修了课程的学生学号。(掌握distinct的用法)



--(3)查询年龄在18-20岁间的学生姓名及学号。



--(4)查询“计算机系”、“数学系”、“信息系”学生的学号及姓名。



--(5)查找所有姓李的学生的信息。



--(6)查找所有已选修但没有成绩的学生学号。



--(7)对所有已选课的学生按学号进行升序排列,同时要求每个学生按成绩降序排列。(掌握order by的用法)



--(8)统计每门课程的选课人数。(掌握group by用法)



--(9)统计重名的学生姓名及人数。



--(10)统计男生与女生的人数。



--1、打开“实验四”中的SPJ数据库,完成以下查询:
USE SPJ;
--(1)求所在的城市为直辖市的供应商的名称。



--(2)求供应红色零件的供应商号,零件号和数量。



--(3)没有使用天津供应商生产的红色零件的工程号JNO。



--(4)求供应数量超过300的供应信息,包括供应商名,零件名,项目名和供应数量。



--(5)至少使用了供应商S1所供应的全部零件的工程号JNO。(项目的供应商不一定是S1,但是该项目一定要涵盖s1能提供的所有零件号。)




--(6)找出使用供应商S1所提供零件的工程号码。(项目的供应商不一定是s1,但使用了与s1能提供的零件相同的零件)





--(7)找出工程项目J2使用的各种零件的名称及其重量。



--(8)找出上海厂商供应的所有零件号码。



--(9)找出使用上海产的零件的工程名称。



--(10)找出没有使用天津产的零件的工程号码。




--2、打开“实验四”中的学生-课程数据库(S_T),完成以下查询。

--(1)查询‘IS’系学生的学号、所选课程名称及该门课程的成绩。

--(2)查询‘CS’系成绩不及格的学生姓名。

--(3)查询每一门的课程的间接先修课程。

--(4)查询所有的学生的选课情况,要求没有选课的情况也能在结果显示出来。

--(5)查询每个学生超过他选修课程平均成绩的课程号,课程名称及成绩。

--(6)查询‘IS’系的学生以及‘数据库系统原理’成绩在70~80之间的学生。

--(7)用两种方法实现:选修了001课程或002课程的学生学号。

--(8)查询至少选修了学生001课程和002课程的学生学号。



--1、打开“实验四”中的学生-课程数据库(S_T),完成以下题目。
USE S_T;
--(1)建一新表,并将所有学生的学生的学号、平均成绩增加到其中。


--(2)假设所有的学生都选了‘008‘课程,如何将记录插入选修表中。


--(3)将所有CS系的成绩不及格学生的成绩加5分。


--(4)删除选了‘数据库’数据库的学生的选课记录。



--(5)删除所有的学生记录。

--2、打开“实验四”中的SPJ数据库,完成以下题目。

--(1)把全部红色零件的颜色改成蓝色。

--(2)由S5供给J4的零件P6改为由S3供应。

--(3)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。

--(4)请将(S2,J6,P4,200)插入供应情况关系。

--1、建立一图书借阅库(TSJY),并在在该库下建立以下四个表:

--(1)图书 (编号 C(6), 分类号 C(8), 书名 C(16), 作者 C(6), 出版单位 C(16), 单价N(7,2),总藏书量 INT,现有库存INT)

--(2)读者(借书证号 C(4), 单位 C(10), 姓名 C(6), 性别 C(2), 职称 C(6),  地址 C(16))

--(3)借阅(借书证号 C(4), 编号 C(6), 借书日期( D),还书日期( D)

--(4)管理员(职工号 C(6), 姓名 C(6), 性别 C(2), 出生日期 D, 职称 C(6), 基本工资 N(7,2))
--说明:以上C表示char类型,N表示Numeric类型,D为datetime类型


--2、数据定义(DDL)

--(1)要求为每个表建立一个主键。

--(2)建立“管理员”表时要求其“性别”一列的默认值为“男”。

--(3)为“图书”的“分类号”建立一个索引ts_flh。

--(4)为“借阅”表建立一唯一索引jycx,要求按“借书证号 ”升序,“借书日期 ” 降序。

--(5)为“管理员”表建立一检查约束,要求“基本工资”在(100,10000)之间。

--(6)建立“借阅”与“图书”及“读者”表之间的参照关系。

--3、数据操作(DML)
--(1)为每个表插入3-5条记录(记录数据自定)。

--(2)查询出“图书”数据库中作者姓“刘”的所有图书。

--(3)查询出“图书”数据库中高等教育出版社出版的、单价低于25元的所有种类的图书。

--(4)求出“读者”数据库中的总人数。

--(5)求出“图书”数据库中的所有图书的最高价、最低价和平均价。

--(6)求出“借阅”库中借书证号为“112”的所借图书的册数。

--(7)按分类号降序显示“图书”库中各种图书的分类号、书名合作者。

--(8)按单价升序显示“图书”库中的高等教育出版社出版的所有图书。

--(9)按单价升序显示出“图书”库中由清华大学出版社和电子工业出版社出版的所有图书。

--(10)按书名和作者分组统计出“图书”库中每种图书的数量。

--(11)统计出“图书”数据库中15至25元之间的图书数量。

--(12)查询出“图书”数据库中书名中含有“应用基础”字串的所有图书。

--(13)分组统计出“借阅”数据库中每一种借书证号所借图书的册数。

--(14)按单位分组统计出“读者”数据库中每个单位的人数。

--(15)分组统计出1997年底以前借阅不低于2本图书的借书证号和数量。

--(16)联接查询“借阅”库和“图书”,得到借阅每一本书的信息。

--(17)联接查询“借阅”库和“读者”库,得到每一个以借阅者的借书证号、姓名、单位。

--(18)联接查询“借阅”、“读者”、“图书”三个库,得到每一本所借图书的读者的借书证号、姓名、单位、书名。

--(19)从“图书”数据库中(通过对“借阅”库的嵌套)查询出所有被借图书的信息。

--(20)按单位分组统计出被借图书的数量。

--(21)按单位分组统计出借阅图书的人数。

--(22)从读者库中查询出每个借阅图书的读者的情况。

---(23)查询‘管理员’表中职称为教授或副教授,并且在1950年(含该年)以后出生的所有职工记录。

--(24)查询‘管理员’表中基本工资在250到380元之间的职工记录。

--(25)将基本工资小于500的管理员,工资加上100元。

--(26)列出藏书在十本以上的图书(书名、作者、出版社)。

--(27)“数据库系统原理教程,王珊编,清华大学出版社,1998年出版”还有几本?


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值