SQL上机练习题
SQL练习题

SQL练习题一.上机操作题:用SQL命令完成下列各题功能:1.检索工资多于1230元的职工号2.检索有职工工资多于2010元的仓库信息3.给出在仓库”WH1“或”WH2”工作,并且工资少于2020元的职工号4.找出工资多于1230元的职工号和他们所在的城市.5.找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。
6.哪些城市至少有一个仓库的职工工资为1250元7.查询所有职工的工资都多于1210元的仓库的信息。
8.找出和职工E4挣同样工资的所有职工9.检索出工资在2020元到2050元范围内的职工信息10.从供应商关系中检索出全部公司的信息。
11.找出不在北京的全部供应商信息12.按职工的工资值升序检索出全部职工信息13.先按仓库号排序,再按工资排序并输出全部职工信息14.找出供应商所在地的数目15.求所有职工的工资和16.求北京和上海的仓库职工的工资总和17.求所有职工的工资都多于2020元的仓库的平均面积18.求在WH2仓库工作的职工的最高工资值19.求每个仓库的职工的平均工资20.求至少有两个职工的每个仓库的平均工资21.找出尚未确定供应商的订购单(供应商号为空)22.列出已经确定了供应商的订购单信息23.列出每个职工经手的具有最高总金额的订购单信息24.检索那些仓库中还没有职工的仓库的信息25.检索那些仓库中至少已经有一个职工的仓库的信息26.检索有职工的工资大于或等于WH1仓库中任意一名职工工资的仓库号27.检索有职工的工资大于或等于WH1仓库中任何一名职工工资的仓库号28.检索有职工的工资大于或等于WH1仓库中所有职工工资的仓库号29.显示工资最高的三位职工的信息30.显示工资最低的30%职工的信息31.显示城市为北京和上海的仓库信息。
32.将查询到的职工的信息存放到数组TMP中。
33.将最高工资的前三位职工的信息存放到表V1中。
34.将城市为北京的仓库信息存入到临时表TEMP中。
SQL上机考试题

设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)根据以上所定义的三张基表写出相应的SQL 语句: (1)统计有学生选修的课程门数。
(2)查询每个学生的姓名及其选修课程的课程名。
(3)求选修2号课程的学生的平均年龄。
(4)求学分为4的每门课程的学生平均成绩。
(5)查询年龄在20以下的学生的姓名、所在系、年龄。
(6)统计每门课程的学生选修人数,超过2人的课程才统计。
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
(7)检索姓名以王打头的所有学生的姓名和年龄。
(8)创建一个视图,包括每个系的学生所选的每门课程的平均成绩。
(9)把查询学生表的权限授予用户U1设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)SC根据以上所定义的三张基表写出相应的SQL语句:(1)统计有学生选修的课程门数。
(2)查询每个学生的姓名及其选修课程的课程名。
答:SELECT 姓名,课程名FROM Student,Course,Sc Where Student.学号=SC.学号AND Course.课程号=SC.课程号.(3)求选修2号课程的学生的平均年龄。
答:SELECT A VG(年龄) FROM Student,SCWHERE Student.学生号=SC.学生号and 课程号=’2’(4)求学分为4的每门课程的学生平均成绩。
答:SELECT Course.课程号,AVG(成绩) FROM Course, SCWHERE Course.课程号=SC.课程号and 学分=4GROUP BY Course.课程号(5)查询年龄在20以下的学生的姓名、所在系、年龄。
答:SELECT 姓名、系别、年龄FROM StudentWHERE 年龄课<20(6)统计每门课程的学生选修人数,超过2人的课程才统计。
12 SQL语言上机练习题

ቤተ መጻሕፍቲ ባይዱ.建立数据库
文件夹中出现两个数据库文件
2.在数据库中建立各表
右击已建的数据库 下拉菜单中 任务->导入数据
• 职工表 职工表worker: : 职工号( ),姓名 ),性别 ),出生日期 职工号(wid),姓名(wname),性别(wsex),出生日期 ),姓名( ),性别( ), ),党员否 ),参加工作时间 (wbirthday),党员否(wparty),参加工作时间 ),党员否( ),参加工作时间(wworktime) , 部门号(wdepartid) 。 部门号
(7)若存在职工号为10的职工,则显示其工 作部门名字。 ①存在量词查询 SELECT depart.dname AS '部门名' FROM depart WHERE EXISTS (SELECT * FROM worker WHERE wdepartid=depart.ddepartid AND wid=10);
3.利用SQL语言完成各题
(1)求出各部门的党员人数。 SELECT wdepartid AS 部门号, COUNT(wparty) AS 党员人数 FROM worker WHERE (wparty = 1) GROUP BY wdepartid
(2)显示所有职工的职工号、姓名和平均工资。 SELECT sid AS '职工号', sname AS '姓名', AVG(smoney)AS '平均工资' FROM salary GROUP BY sid, sname;
1 求出各部门的党员人数。 2 显示所有职工的职工号、姓名和平均工资。 3 显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。 4 显示所有职工的职工号、姓名、部门名和2004年2月份工资, 并按部门名顺序排列。 5 显示各部门名和该部门的所有职工平均工资。 6 显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工 资。 7 若存在职工号为10的职工,则显示其工作部门名字。 8 建立视图View1,显示所有职工的姓名和2004年1月份工资数。
sql机试题

sql机试题1.假设有一个名为"employees"的表,其中包含以下列:employee_id、first_name、last_name、department_id。
查询该表中每个部门的员工数量,并按照部门数量进行降序排列。
2.假设有一个名为"orders"的表,其中包含以下列:order_id、customer_id、order_date和total_amount。
查询该表中总金额超过10000元的订单的客户数量。
3.假设有一个名为"products"的表,其中包含以下列:product_id、product_name、category_id和price。
查询该表中每个类别的平均价格。
4.假设有一个名为"students"的表,其中包含以下列:student_id、student_name、grade和score。
查询该表中成绩高于平均分的学生数量。
5.假设有一个名为"customers"的表,其中包含以下列:customer_id、customer_name、email和phone。
查询该表中未提供电子邮件地址或电话号码的客户数量。
6.假设有一个名为"orders"的表,其中包含以下列:order_id、customer_id、order_date和total_amount。
查询该表中总金额超过10000元的订单中,客户数量最多的前三个客户的订单数量。
7.假设有一个名为"employees"的表,其中包含以下列:employee_id、first_name、last_name、department_id和salary。
查询该表中平均薪资最高的前三个部门中的员工数量。
SQL语句上机练习一

打开下发的数据库素材,请使用SQL语句完成下列查询,每一题在输入完语句后,通过运行来检查有无错误,查询结果是否正确,下面七个查询依次保存为查询1,查询2。
查询7。
SQL语句有不会的可参看教材P134,135,136
1. 请查询出“学生档案”表中入学成绩大于400分的同学姓名
2. 请查询出“学生档案”表中入学成绩大于300分,小于400分的同学所有信息
3. 请查询出“学生档案”表中所有团员的姓名
4. 请查询出“学生档案”表中入学成绩大于500分,或小于300分的同学班级ID、性别、姓名
5. 请查询出“学生档案”表中出生日期在1990年9月1日至1991年9月1日之间出生的学生学号、姓名
6. 请查询出“学生档案”表中所有姓“刘”的同学姓名、班级ID、奖惩
7. 请查询出“学生成绩01”表中数学和语文都大于90分的同学学号。
SQL上机操作题目精选

CAP数据库示例Customers:顾客信息cid 唯一标识一个顾客Cname顾客名称City顾客所在的城市Discnt每个顾客可能会有的折扣Agents代理商信息Aid唯一标识一个代理商Aname代理商的名称City代理商所在的城市Percent代理所能获得的佣金百分比Products商品信息Pid唯一标识一件商品Pname商品名称City商品库所在城市Quantity商品的库存数量Price每单位商品的批发价Orders订单信息Ordno唯一标识一份订单month订单月份cid购买该商品的顾客Aid经由该代理商订货pid所订购的商品qty订购的商品数量dollars商品的总价CAP数据库的四个表Customers(cid,cname,city,discnt)Agents(aid,aname,city,percent)Products(pid,pname,city,quantity,price)Orders(ordno,month,cid,aid,pid,qty,dollars)用SQL语句查询(注意:数据库只是一个示例,题目中出现的数据不一定在数据库中出现,自己在做测试时可用数据库中的数据,但是写命令须按照题目要求来写):1、查询住在GuangZhou的代理人的编号和名字。
2、查询客户及其委托代理定货的所有代理人的名字。
3、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户编号。
4、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户名字及其折扣。
4、取出至少被一个在Beijing的顾客通过位于Shanghai的代理订购的商品的名字。
5、找出折扣率最大和最小的顾客的cid值。
6、找出折扣率最大和最小的顾客的cname值。
7、找出通过代理商a06而不通过代理a01订购的商品的pid值。
8、取出“shanghai“的代理商的aid和aname值,并且这些代理没有销售过任何Suzhou生产的商品。
sql上机练习2

要求
两个文件
sql文件
用于记录操作中用到的SQL语句 用于显示SQL Server上的SQL语句的运行结果(屏幕拷贝)
word演示报告
建立的表名要有名字和学号,方便老师运行sql文件, 避免表名相同带来的建表失败错误 所有sql语句都要在SQL Server上调通 做完后发到191474470@
(2)班
练习2-1(2班)
建立数据库,并设计以下表(不定义约束)
学生表student(sno, sname, ssex ) 课程表course(cno, cname ) 教师表teacher(tno,tname, tsex) 开课表offering(ono, cno, tno ) 选课表enrollment(sno, ono ) 在student表的sno字段上建立唯一性索引(降序) 在teacher表的tname字段上建立非唯一性索引(升序) 在enrollment表的sno, ono字段上建立联合索引
创建索引
练习2-2(2班)
增加约束
设置ssex字段只能为’男’或者’女’ 设置course表的cno字段非空 在course表上的cno字段上增加主键 在enrollment表的cno字段上设置关于course表cno 字段的外键
把student表的sno字段上的索引改为升序
创建索引
Байду номын сангаас
增加约束
完成后发到191474470@
注意事项
练习2-2(1班)
SQL上机题

SQL上机题第5章综合上机题实训一建立表训练要求:为数据库PD创建以下三个基本表:产品表(product):pno CHAR(6)NOT NULL;pname CHAR(30);price DECIMAL (6,2);stock INT字段说明:pno 产品编号;pname 产品名称;price 产品价格;stocks 产品库存量销售商表(retailer):rno CHAR(6)NOT NULL;rname CHAR(30);area CHAR(10);leader char(8);tele char(15);remarks text字段说明:rno 销售商编号;rname 销售商名称;area 地区;leader 负责人;tele 电话;remarks 备注产品销售表(sales):sno CHAR(10)NOT NULL;pno CHAR(6)NOT NULL;rno CHAR(6)NOT NULL;quantity int;ssum decimal(8,2)字段说明:sno销售编号;pno 产品编号;rno 销售商编号;quantity 数量;ssum 销售金额各表的参考数据:Product表:Pno Pname price stock100001 彩色电视机3000 10100002 洗衣机1200 20100003 冰箱1800 12100004 电热水器2000 30100005 太阳能热水器2200 8100006 1匹空调1800 5100007 1.5匹空调2400 20100008 2匹空调3800 6100009 音响3500 3100010 台式电脑6000 5100011 MP3 900 10100012 复读机200 20100013 燃气热水器1500 10Retailer表:Rno Rname area leader tele remarks000001 广电公司南京张三111111111000002 家电市场无锡李四22222222000003 电器商场上海王五33333333000004 小家电商场南京赵六666666666000005 JL电器销售部苏州朱平平888888888Sales表:Sno Pno Rno quantity ssum sdate0000000001 100001 000001 1 3000 2009-3-10 0000000002 100001 000003 2 6000 2009-5-20 0000000003 100002 000001 1 1200 2009-6-12 0000000004 100002 000002 2 2400 2009-6-22 0000000005 100002 000003 3 3600 2009-6-29 0000000006 100010 000004 5 30000 2009-7-1 0000000007 100013 000005 2 3000 2009-7-20二、在PD数据库中按下列要求查询1.查询每种产品的名称和库存量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库软件SQL SERVER》
考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。
(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号)
一、(30分)操作题
创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。
日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。
“library”中包含的数据“book”表有如下结构:(bookid为主键)
(2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期
“library”表记录如下:
二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名SQL代码”)
(1)向“book”表中添加一条记录,书号为100005,书名计算机网
络基础,作者孙超
(2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建
(3)查询所有未借阅图书的所有读者姓名
(4)查询至少借阅了两门图书的读者的姓名
(5)查询借阅了“100001”和未借阅“100002”图书的读者姓名
(6)查询出借阅了图书的各个部门的人数
(7)查询和“大学英语”出版社相同的图书名称
(8)查询比所有图书平均价低的图书的编号
(9
)查询书名中包含有“计算机”的书名和作者
(10)查询各个出版社中图书最高价格、最低价格和图书数目
三、(10分)编写存储过程
要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格,
并
军”读者的相关信息。
四、(10分)编写触发器
为“borrow”表创建一触发器,保证插入记录图书编号和读者编号必须存在于book和reader表中。
五、(10分)编写一内嵌表值函数
要求根据图书名,查询所有借阅该图书的读者信息,包括:readerid、rname、sex和department。