sql作业2答案

合集下载

大工14秋《SQL数据库系统及应用》在线作业2答案

大工14秋《SQL数据库系统及应用》在线作业2答案

大工14秋《SQL数据库系统及应用》在线作业2
一,判断题
1. 聚合函数中SUM函数功能是求和。

A. 错误
B. 正确
?
正确答案:B
2. 常用的比较运算符包含=,>,<,>=,<=,<>,!=等。

A. 错误
B. 正确
?
正确答案:B
3. 比较运算符对多个表达式进行比较,返回TRUE,FALSE等值。

A. 错误
B. 正确
?
正确答案:B
4. 聚合函数中MAX函数功能是求最大值。

A. 错误
B. 正确
?
正确答案:B
5. 比较运算符中!=代表“恒等于”。

A. 错误
B. 正确
?
正确答案:A
6. GROUP BY子句用于对查询结果分组,该语句主要和汇总语句配合使用,比如SUM,AVG,MAX,MIN等。

A. 错误
B. 正确
?
正确答案:B
7. 聚合函数中MIN函数返回一组记录中的某个字段的最大值或者最小值。

A. 错误
B. 正确。

MySQL数据库系统及应用第二套作业(3—4单元)

MySQL数据库系统及应用第二套作业(3—4单元)
回答错误
A:正确: B:错误
答案
错误
【11】
查看一下表xs的结构应该用以下命令中的()。
回答错误
A: show tables xs
B: desc xs
C: show databases xs
D: desc xs学号
答案
desc xs
【12】
向表中插入一个新行的纪录的命令为()。
回答错误
A: insert into
回答错误
A:正确: B:错误
答案
错误
【14】
使用下列语句中的()可以删除表中数据。
回答正确
A: insert
B: drop
C: delete
D: update
答案
delete
【15】
使用insert语句插入数据时可以缺省某些允许为空的字段。()
回答正确
A:正确: B:错误
答案
正确
【16】
update语句只可以修改一个表中的数据。()
A: drop table
B: delete
C: urn cate table
D: rename table
答案
turn cate table
【12】
delete语句只可以删除一个表中的数据。()
回答错误
A:正确: B:错误
答案
错误
【13】
查看一下表xs的结构应该用以下命令中的()。
回答错误
A: show tables xs
使用insert语句一次只可以插入一条纪录。()
回答错误
A:正确: B:错误
答案
错误
【19】
下列可以修改表中数据的语句是()。

数据库实验答案实验二Sql

数据库实验答案实验二Sql

(1) 查找有销售记录的客户编号、名称和订单总额。

命令:SELECT a.CustomerNo,CustomerName, sum(quantity*price) orderSumFROM OrderMaster a,OrderDetail b,Customer cWHERE b.orderNo=a.orderNo AND c.CustomerNo=a.CustomerNoGROUP BY a.CustomerNo,CustomerNameORDER BY a.CustomerNo,orderSum DESC(2) 在订单明细表中查询订单金额最高的订单。

命令:SELECT top 1 orderNo,sum(quantity*price)订单金额FROM OrderDetailGROUP BY orderNoORDER BY 订单金额DESC(3) 查询没有订购商品的客户编号和客户名称。

命令:SELECT CustomerNo,CustomerNameFROM CustomerWHERE CustomerNo NOT IN (SELECT CustomerNo FROM OrderMaster)(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。

命令:SELECT a.productNo,orderNo,quantity,(quantity*price) moneyFROM OrderDetail a,(SELECT productNoFROM OrderDetailGROUP BY productNoHA VING COUNT(*)>=3) bWHERE a.productNo =b.productNoORDER BY a.productNo,quantity DESC被订购三件以上的……SELECT b.ProductNo,orderNo,quantity,orderSum=quantity*priceFROM OrderDetail b,(SELECT ProductNo FROM(SELECT ProductNo,sum(quantity)SQfrom OrderDetail GROUP BY ProductNo)aWHERE a.SQ>3)cWHERE b.ProductNo=c.ProductNoORDER BY b.quantity DESC(5) 使用子查询查找32M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。

SQL练习题参考答案(2)

SQL练习题参考答案(2)

第2章 SQL Server简介练习题一、单项选择题1.B 2.C 3.D 4.B 5.C6.D 7.C 8.C 9.B 10.A11.B 12.B二、简答题1.答:客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。

客户机上的任务只要有:●建立和断开与服务器的连接。

●提交数据访问请求。

●等待服务通告、接受请求结果或错误。

●处理数据库访问结果或错误、包括重发请求和终止请求。

●提供应用程序的友好用户界面。

●数据输入输出及验证。

服务器上的任务主要有:●为多用户管理一个独立的数据库。

●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。

●管理用户帐号、控制数据库访问权限和其他安全性。

●维护数据库,包括数据库备份和恢复。

保证数据库数据的完整或为客户提供完整性控制手段。

2.答:(1)两层结构在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。

众多的客户机通过网络直接访问数据库服务器。

客户机运行处理业务的程序和显示处理结果的程序。

两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。

(2)三层结构在三层结构中引入了一层应用服务器。

客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。

三层结构适用于客户量较大的情况。

3.答:SQL Server 2000的四个系统数据库是master、model、msdb和tempdb数据库。

(1)master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。

数据库中SQL查询语句习题含答案

数据库中SQL查询语句习题含答案

数据库中SQL查询语句习题含答案查询问题:设教学数据库Education 有三个关系:学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME )(1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名;(4)检索选修课程号为C2或C4的学生学号;(5)检索至少选修课程号为C2和C4的学生学号;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;(8)查询所学课程包含学生S3所学课程的学生学号。

(1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM SWHERE Sdept =’CS ’;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。

C → SC → S 基本思路:(1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ;(3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。

SELECT Sno ,Sname FROM SWHERE Sno IN (SELECT Sno FROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname=‘DS ’));(4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SCWHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号; SELECT SnoFROM SC X ,SC YWHERE X.Sno=Y.Sno AND/doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C2’ AND /doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C4’;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;在表S 中找学生,要求这个学生学了全部课程。

数据库作业2答案

数据库作业2答案

SQL作业:第三章:课后习题2:(1)select sno,sn ame from stude nt where height>1.80 ⑵select eno ,credit from course where semester秋' and eno like 'CS%';⑶select sn ame,c.c no ,credit,grade from stude nt s,course c,scwhere s.s no=sc.s no and o=sc.c no and c.c no like 'CS%' and seX="a nd semester=' 秋'and grade is not n ull ⑷select sn ame from stude nt s,scwhere s.s no=sc.s no and eno like 'EE%' and sex女' or: select sn ame from stude nt s,scwhere s.s no=sc.s no and eno like 'EE%' and sex女' group by s.s no,sn ame hav ing coun t(cno) >=1 ⑸select sno ,co un t(c no ),avg(grade) from sc where grade is not n ullgroup by sno ⑹select cn o,co un t(s no ),max(grade),mi n( grade),avg(grade) from sc where grade is not n ull group by eno⑺select s.s no,sn ame from stude nt s,scwhere s.s no=sc.s no and s.s no not in( select sno from sc where grade is nu II) and grade is not n ullgroup by s.s no,sn ame hav ing min( grade)>=80 (8)select sn ame,sc.c no ,credit from stude nt s,course c,sc where s.s no=sc.s no and o=sc.c no and grade is null(9)select sn ame from stude nt s,course c,sc where s.s no=sc.s no and sc.c no=c.c no and credit>=3 and grade<70 or: select sn ame from stude nt s,course c,scwhere s.s no=sc.s no and sc.c no=c.c no and credit>=3 group by sc.s no,sn ame hav ingmin( grade)<70 (10)select sn ame,avg(grade),sum(credit) from stude nt s,course c,scwhere s.s no=sc.s no and sc.c no=c.c no and year(bdate) betwee n 1974 and 1976 group by sc.s no,sn ame习题3:delete from Stude ntswhere SNO LIKE '91%'delete from SCwhere SNO LIKE '91%'习题4:INSERT INTO Stude nts(SNO,SNAME,SEX,BDATE,HEIGHT)VALUES ('9409101','何平','女','1977-03-02',1.62)INSERT INTO Stude nts(SNO,SNAME,SEX,BDATE,HEIGHT)VALUES ('9408130','向阳','男','1976-12-11',1.75)习题5:UP DATE CoursesSET CREDIT=3,LHOUR=60WHERE CNAME='CS-221'补充题:试写出下述查询的SELECT命令1.1查c4比c16成绩好但比c9成绩差的课程及其成绩; select course-n ame,gradefrom stude nt s4,sc sc4,course cou4,stude nt s16,sc sc16,course cou16,stude nt s9,sc sc9,course cou9where s4.s no=sc4.s no and cou4.c no=sc4.c no and s4.s name='c4' ands16.s no=sc16.s no and cou16.c no=sc16.c no and s16.s name='c16' and s9.s no=sc9.s no and cou9.c no=sc9.c no and s9.s name='c9' and and sc4.c no=sc16.c no and sc4.c no=sc9.c nosc4.grade>sc16.grade and sc4.grade<sc9.grade1.2查修过计算机系课程,但未修过电机系课程的学生的数量select coun t(disti net sno)from sc,coursewhere sc.c no=couse.c no and cn ame like 'cs%' andsno not in (select sno from sc,course where sc.c no=course.c no and cn ame like 'ee%')1.3列出学生张学友不比学生李连杰成绩高的课程名及其成绩;select ame,z.grade from (select eno ,grade from sc sc1,stude nt s1 where scl.s no=s1.s no and s1.s name张'学友')as z(c no ,grade),(select eno ,grade from sc sc2,stude nt s2where sc2.s no=s2.s no and s2.s name李连杰') as l(c no ,grade),coursecwhere z.c no=l.c no and z.grade<=l.grade and z.c no=c.c noF面的题目要利用db2中的sample数据库empio yee(eid,e name,de pt_id,salary); manager(eid,de pt-id);sale(eid,district,sale-year,sale-m on th,sale-goods,sale-am oun t);2.寻找一个部门中,工资数额多于本部门一半人的工资数额的雇员的名字和工资和部门编号.select en ame, salary, dep t-idfrom empio yee ewhere (select coun t(*) from empio yee where dep t_id=e.de pt_id)/2 <=(select coun t(*) from empio yee where dep t_id=e.de pt_id and salary<e.salary)3寻找职员和经理有相同名字的部门select dept_idfrom man ager,e mpio yee ewhere man ager.eid=e mpIo yee.eid andexists (select en amefrom empi yee where eid!=e.eid and e.de pt_id=de pt.id and e.e name=e name)4找有相同职员数的部门名对select d1.de pt_id, d2.de pt_idfrom empio yee d1, empio yee d2where d1.de pt_id>d2.de pt_id and(select coun t(*) from empI yee where dep t_id=d1.de pt_id)= (select coun t(*) from empi yee where dep t_id=d2.de pt_id)5分别按年月,按区域和销售人员统计(最大)销售额.select sum(sale-am ount) from sale sgroup by distirct, sale-year,sale-m on th, eidhav ing sum(sale-am ount) >= all (select sum(sale-am ount)from sale s1where s1.district=s.district and s1.sale-year=s.sale-year ands1.sale-m on th=s.sale-mo nthgroup by distirct, sale-year,sale-m on th, eid)附sample数据库模式empio yee(eid,e name,de pt_id,salary); man ager(eid,de pt_id);sale(eid,district,sale-year,sale_m on th,sale-goods,sale-am oun t).6用SQL命令产生如下的关系模式:供应者supplier(sno, sname, city)主键是sno 部件part(pno,pname,color,weight),主键是pno 工程job(jno,jname,city),主键是jno 供应数量spj(sno,pno,jno,quantity)主键是(sno pno jno) 各个字段的类型自行定义,但需满足如下的约束:part中的weight应大于100;supplier中的city取值范围是(上海西安南京);spj中如果quantity小于10,则删除该记录;spj 中的sno、pno、jno 分^和supplier.sno part.pno、job.jno 相关联,并且女口a b c d果supplier、part或job中的记录被删除,则spj的相关记录也被删除。

大工21秋《SQL数据库系统及应用》在线作业2-【答案】

大工21秋《SQL数据库系统及应用》在线作业2-【答案】

大工21秋《SQL数据库系统及应用》在线作业2试卷总分:100 得分:1001.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上()。

<-A.->group<-B.->order<-C.->top<-D.->distinct【本题正确参考选择】:D2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用()参数。

<-A.->asc<-B.->desc<-C.->between<-D.->and【本题正确参考选择】:B3.查询学校员工工资信息时,结果按工资降序排列,正确的是()。

<-A.->ORDERBY工资<-B.->ORDERBY工资desc<-C.->ORDERBY工资asc<-D.->ORDERBY工资and【本题正确参考选择】:B4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当()。

<-A.->在join后面使用betweento子句<-B.->在groupby后面使用having子句<-C.->在where后面使用orderby子句<-D.->在join后面使用orderby子句【本题正确参考选择】:B5.在SQL查询语句中,HAVING子句的作用是()。

<-A.->指出排序的范围<-B.->指出查询结果的最大值<-C.->指出分组查询的条件<-D.->指出创建数据表的字段【本题正确参考选择】:C6.以下关于HAVING子句描述错误的是()。

<-A.->HAVING子句允许与GROUPBY子句同时使用<-B.->使用HAVING子句的同时不能使用WHERE子句<-C.->使用HAVING子句的同时可以使用WHERE子句<-D.->使用HAVING子句的作用是限定分组的条件。

大连理工大学20年秋季学期《SQL数据库系统及应用》在线作业2附参考答案

大连理工大学20年秋季学期《SQL数据库系统及应用》在线作业2附参考答案

大连理工大学20年秋季学期《SQL数据库系统及应用》
在线作业2附参考答案
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上( )。

A.group
B.order
C.top
D.distinct
答案:D
2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用( )参数。

A.asc
B.desc
C.between
D.and
答案:B
更多加微boge30619
3.查询学校员工工资信息时,结果按工资降序排列,正确的
是( )。

A.ORDER BY 工资
B.ORDER BY 工资 desc
C.ORDER BY 工资 asc
D.ORDER BY 工资 and
答案:B
4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当( )。

A.在join后面使用between to子句
B.在group by后面使用having子句
C.在where后面使用order by子句
D.在join后面使用order by子句
答案:B
5.在SQL查询语句中,HAVING子句的作用是( )。

A.指出排序的范围
B.指出查询结果的最大值
C.指出分组查询的条件
D.指出创建数据表的字段
答案:C。

电子科技大学14秋《SQL Server》在线作业2答案

电子科技大学14秋《SQL Server》在线作业2答案
C. out
D. into
-----------------选择:A
16. SQL Server 2000中的权限不包含()。
A.对象权限
B.语句权限
C.隐含权限
D.显式权限
-----------------选择:D
17. SQL Server 2000中的安全性包含()。
A.数据库安全
B.用户安全
B.日志备份
C.差异备份
D.进程备份
-----------------选择:D
10.还原的命令关键词是()。
A. RESTORE DATABASE
B. RESTORE
C. USE
D. BACKUP
-----------------选择:A
11.删除用户自定义函数的命令关键词是()。
A. ALTER FUNCTION
14秋《SQL Server》在线作业2
单选题
一、单选题(共20道试题,共100分。)
1.用户或角色的权限形式不包含()。
A.授权
B.拒绝
C.取消
D.认证
-----------------选择:D
2. SQL Server中,不存在哪种事务模式?
A.自动提交事务
B.批处理事务
C.显式事务
D.隐性事务
C.管理员安全
D.硬件安全
----I的一致性要求()。
A.获取出错信息
B.分配和释放资源
C.连接至数据源
D.不执行SQL语句
-----------------选择:D
19.备份的命令关键词是()。
A. BACKUP DATABASE
B. BACKUP
-----------------选择:B

SQL (2)

SQL (2)

第4章
1. 1.关系数据库中的表用来存储数据,并用表格的形式显示数据,
每一行称为记录。
2. 2.修改表中记录的操作包括插入、更新和删除。
3. 3.清空表中的记录,可以使用语句DELETE TABLE ,也可以使
用语句TRUNCATE TABLE,其中TRUNCATE TABLE速度更
快,并且使用更少的系统资源和事务日志资源。
第5章 1. 1.查询语句中的6个基本组成部分是SELECT子句、FROM子 句、WHERE子句、GROUP by子句、HAVING子句和ORDER BY子句。 2. 2.关键字BETWEEN…AND…的作用是指定搜索范围。 3. 3.关键字IN的作用是指定值得集合。 4. 4.多表连接的种类包括内连接、外连接、交叉连接和自连接。 5. 5.关键字ANY的作用是集合中任意值。 6. 6.关键字ALL的作用是集合中所有值。 7. 7.关键字EXISTS的作用是判断结果集合是否有记录。 8. 8.关键字UNION的作用是合并多个结果集。
D.GRANT
4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进 行。
A. 需求分析 B. 概念模型设计 C. 详细设计 D. 代码编 写
5.关于SQL Server的注释类型以下说法正确的是()。
A. 单行注释以"--"开头
B. 单行注释以"**"开头
C. 多行注释以"-"开头,以"-"结束 D. 多行注释以"//"开头,
用的T-SQL语句是DROP TRIGGER。 4. DML触发器可以分为3种类型:INSERT、DELETE和UPDATE。 5. 后触发的触发器需要使用ALTER关键字说明。 6. 替代触发器需要使用INSTEAD OF 关键字说明。

SQL数据库系统SQL补充习题2答案

SQL数据库系统SQL补充习题2答案

1. 找出所有为First bank corporation工作的雇员名字和居住城市;select e.employee name, cityfrom employee e, works wwhere pany name = ’First Bank Corporation’ andw.employee name = e.employee name2. 找出所有为First bank corporation工作且薪金超过1万元的雇员名字、居住街道和城市;If people may work for several companies, the following solution will onlylist those who earn more than $10,000 per annum from “First Bank Corporation”alone.select *from employeewhere employee name in(select employee namefrom workswhere company name = ’First Bank Corporation’ and salary ¿ 10000)As in the solution to the previous query, we can use a join to solve this onealso.3. 找出所有不为First bank corporation工作的雇员;The following solution assumes that all people work for exactly one company.select employee namefrom workswhere company name _= ’First Bank Corporation’If one allows people to appear in the database (e.g. in employee) but notappear in works, or if people may have jobs with more than one company,the solution is slightly more complicated.select employee namefrom employeewhere employee name not in(select employee namefrom workswhere company name = ’First Bank Corporation’)4. 找出数据库中工资比Small bank corporation的每一个雇员都高的所有雇员;The following solution assumes that all people work for at most one company.select employee namefrom workswhere salary > all(select salaryfrom workswhere company name = ’Small Bank Corporation’)If people may work for several companies and we wish to consider thetotal earnings of each person, the problem is more complex. It can be solvedby using a nested subquery, but we illustrate below how to solve it usingthe with clause.with emp total salary as(select employee name, sum(salary) as total salaryfrom worksgroup by employee name)select employee namefrom emp total salarywhere total salary > all(select total salaryfrom emp total salary, workswhere pany name = ’Small Bank Corporation’ andemp total salary.employee name = works.employee name)5. 假设一个公司可以在好几个城市有分部。

北语20春《数据库应用(SQLserver)》作业2正确答案

北语20春《数据库应用(SQLserver)》作业2正确答案

(单选题)1: 下列哪个数据库是可以在运行SQL SERVER过程中被删掉的()。

A: masterB: modelC: pubsD: northwind正确答案: C(单选题)2: 以下关于主键的描述正确的是()。

A: 标识表中唯一的实体B: 创建唯一的索引,允许空值C: 只允许以表中第一字段建立D: 表中允许有多个主键正确答案: A(单选题)3: 下列设置的查询“工资”在1500元到2000元之间的准则正确的是()。

A: &gt;=1500 OR &lt;=2000B: 1500 AND 2000C: between 1500 and 2000D: between &gt;=1500 AND 2000正确答案: C(单选题)4: 你正在使用SQL Server 2000开发超市收银系统。

在客户端编写软件时使用SQL 语句“SELECT * FROM Products”来查询商品的信息,但是不小心把Products输入成Product。

请问该错误在哪一层被发现()。

A: 客户端的数据库APIB: 客户端的NET-LIBRARYC: 服务器端的开放式数据服务D: 服务器端的关系引擎正确答案: D(单选题)5: 下列哪个不是sql 数据库文件的后缀。

A: .mdfB: .ldfC: .dbfD: .ndf正确答案: C(单选题)6: 以下关于外键和相应的主键之间的关系,正确的是( )。

A: 外键并不一定要与相应的主键同名B: 外键一定要与相应的主键同名C: 外键一定要与相应的主键同名而且唯一D: 外键一定要与相应的主键同名,但并不一定唯一正确答案: A。

北语15秋《数据库应用(SQL server)》作业2满分答案

北语15秋《数据库应用(SQL server)》作业2满分答案

北语15秋《数据库应用(SQL server)》作业2
一、单选题(共12 道试题,共60 分。


1. 在T-SQL语言中,修改表结构时,应使用的命令是()。

A. UPDATE
B. INSERT
C. ALTER
D. MODIFY
正确答案:C
2. 一个规范化的关系至少应当满足( )的要求。

A. 一范式
B. 二范式
C. 三范式
D. 四范式
正确答案:C
3. 在SQL语言中,"授权"命令是( )。

A. GRANT
B. REVOKE
C. OPTION
D. PUBLIC
正确答案:A
4. 以下关于外键和相应的主键之间的关系,正确的是( )。

A. 外键并不一定要与相应的主键同名
B. 外键一定要与相应的主键同名
C. 外键一定要与相应的主键同名而且唯一
D. 外键一定要与相应的主键同名,但并不一定唯一
正确答案:A
5. SQL Server系统中的所有服务器级系统信息存储于哪个数据库()。

A. master
B. model
C. tempdb
D. msdb
正确答案:A
6. 数据库的三要素,不包括( ) 。

A. 完整性规则
B. 数据结构
C. 恢复
D. 数据操作
正确答案:C。

sql练习与答案2

sql练习与答案2

对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。

针对每一道题目,所有答案都选对,则该题得分,否则不得分。

1. 数据库设计的最终目标不包括()。

(选择两项)BDA. 高效B. 满足范式要求C. 安全D. 表现设计者的技术实力E. 易用F. 便于将来扩展功能和容量2. 有关数据冗余说法错误的是()。

(选择一项)CA. 数据库中,数据存在副本的现象,就是数据冗余。

B. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。

C. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。

D. 数据冗余通常是由于数据库设计引起的。

3. 用于表示数据库实体之间的关系图是()。

AA. 实体关系图B. 数据模型图C. 实体分类图D. 以上都不是4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)等,该表需要设置主键,以下说法正确的是()。

(选择两项)ABA. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

B. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

C. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

D. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

5. 语句alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。

BA. userid 主键B. userid 唯一C. uq_userid 外键D. uq_userid 检查6. 运行如下T-SQL,结果返回包含()的记录集。

Acreate table scores(scoreid int identity(1,2),score numeric(4,2) not null,courseid int)insert int scores values(90.5,null);insert into scores values(78.234,2);select * from scores;A. 1 90.50 NULL3 78.23 2B. 1 78.23 2C. 1 90.50D. 1 90.502 78.23 27. 关于子查询,以下说法正确的是()。

SQL语言习题参考答案

SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。

sql作业2

sql作业2

1.按照籍贯统计每个省的平均入学成绩。

Select avg(入学成绩)From 学生Group by 贯籍2.查询89年6月15日以后出生的学生的名单。

Select 姓名From 学生Where 出生日期>”19890615”3查询1989年出生的学生信息。

Select *From 学生Where 出生日期like “1989*”4求选修“102”号课,成绩大于78分的学生的学号及成绩,并按成绩由高到低列出。

Select 学号,成绩From 成绩Where 课程号=”102” and 成绩>”78Order by desc”5.求出总分大于230的学生的学号,姓名及总成绩。

Select 学生.学号,学生.姓名,sum(成绩)as “总成绩”From 学生,成绩Where 成绩>(select sum(成绩) from 成绩where )6.求选修必修课学生的学号,课程号,成绩的情况。

Select 学生.学号,成绩.课程号,成绩.成绩From 学生,成绩,课程Where 学生.学号=成绩.学号and 成绩.课程号=课程.课程号Group by 是否选修7.列出所有学生选修的课程号,去掉重复值。

Select distinct 课程号From 成绩8.列出选修英语的所有学生的学号。

Select 学号From 成绩Where 课程号=(select 课程号from 课程where 课程名=”大学英语”)9.列出成绩为满分的学生的学号和课号。

Select distinct学号,课号From 成绩Where 成绩=”100”10..列出各门课的平均成绩、最高成绩、最低成绩和选课人数。

Select avg(成绩),max(成绩),min(成绩),count(学号)From 成绩Group by 课程号11.查询经济系的党员的学号,姓名。

Select 学号,姓名From 学生Where 是否党员and 系号=(select 系号from 系名where 系名=”国际经济与贸易”)12,查询选修了“邓小平理论”课的学生学号,姓名。

2级计算机考试sql试题及答案

2级计算机考试sql试题及答案

2级计算机考试sql试题及答案一、查询题1. 查询员工表中所有员工的姓名、工资和所在部门的名称。

SELECT e.姓名, e.工资, d.部门名称FROM 员工表 eJOIN 部门表 d ON e.部门ID = d.部门ID;2. 查询学生成绩表中数学成绩高于90分的学生的学号、姓名和数学成绩。

SELECT s.学号, s.姓名, sc.数学成绩FROM 学生成绩表 scJOIN 学生表 s ON sc.学号 = s.学号WHERE sc.数学成绩 > 90;3. 查询订单表中所有满足订单金额大于1000元且订单状态不为已取消的订单。

SELECT *FROM 订单表WHERE 订单金额 > 1000 AND 订单状态 <> '已取消';二、插入题1. 想要将新员工信息插入员工表,请写出相应的SQL语句。

INSERT INTO 员工表 (员工ID, 姓名, 部门ID, 工资) VALUES (123, '张三', 1, 5000);2. 想要将新订单信息插入订单表,请写出相应的SQL语句。

INSERT INTO 订单表 (订单ID, 订单日期, 订单金额, 订单状态) VALUES (456, '2021-01-01', 2000, '未完成');三、更新题1. 将员工表中工资低于3000元的员工的工资增加10%。

UPDATE 员工表SET 工资 = 工资 * 1.1WHERE 工资 < 3000;2. 将订单表中订单状态为已取消的订单状态更新为已关闭。

UPDATE 订单表SET 订单状态 = '已关闭'WHERE 订单状态 = '已取消';四、删除题1. 删除学生成绩表中数学成绩低于60分的记录。

DELETE FROM 学生成绩表WHERE 科目 = '数学' AND 成绩 < 60;2. 删除员工表中部门ID为5的所有员工。

Oracle的sql语句练习题与答案

Oracle的sql语句练习题与答案

Oracle的sql语句练习题含答案(二)Oracle_SQL练习题11.选择部门30中的所有员工.2.列出所有办事员(CLERK)的姓名,编号和部门编号.3.找出佣金高于薪金的员工.4.找出佣金高于薪金的60%的员工.5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.7.找出收取佣金的员工的不同工作.8.找出不收取佣金或收取的佣金低于100的员工.9.找出各月倒数第3天受雇的所有员工.10.找出早于12年前受雇的员工.11.以首字母大写的方式显示所有员工的姓名.12.显示正好为5个字符的员工的姓名.13.显示不带有"R"的员工的姓名.14.显示所有员工姓名的前三个字符.15.显示所有员工的姓名,用a替换所有"A"16.显示满10年服务年限的员工的姓名和受雇日期.17.显示员工的详细资料,按姓名排序.18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.19.显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序.20.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.21.显示在一个月为30天的情况所有员工的日薪金,忽略余数.22.找出在(任何年份的)2月受聘的所有员工。

23.对于每个员工,显示其加入公司的天数.24.显示姓名字段的任何位置包含"A"的所有员工的姓名.25.以年月日的方式显示所有员工的服务年限.答案:1.select ename,job,mgr,hiredate,sal,comm ,deptno from emp where deptno=30;2.select ename,empno,deptno from emp where job='CLERK';3.select * from emp where comm>sal;4.select *from empwhere comm>sal*0.6;5.select empno ,ename, job,hiredate,sal,comm,deptnofrom empwhere( job='MANAGER' and deptno=10)or( job='CLERK' and deptno=20);6.select empno,ename,job, hiredate,sal, deptnofrom empwhere ( job='MANAGER' and deptno=10)or( job='CLERK' and deptno=20)or((job <>'MANAGER' and job<>'CLERK') and sal>=2000);7.select distinct ename,job,commfrom empwhere NVL(comm,0)>0;注意如果像上面这样写,就job ename comm 3个同时不同的都列出来正确的是:select distinct jobfrom empwhere NVL(comm,0)>0;8.select ename,comm. from emp where NVL(comm,0)=0 or NVL(comm,0)<100; 如果按上面的写法就重复了,直接可以写成select ename,commfrom empwhere NVL(comm,0)<100;9 select ename, job,last_day(hiredate)-3from emp;select ename, job,hiredatefrom empwhere hiredate=last_day(hiredate)-2;10.select ename,jobfrom empwhere months_between(sysdate,hiredate)/12>1211.select initcap(ename) name ,job, hiredatefrom emp;12. select ename,job,hiredate from emp where length(ename)=5;13 select ename, job from emp where ename not like '%R%';14.select substr(ename, 1,3) name,job,hiredate from emp;15select replace(ename, 'A','a') name,job,hiredate from emp;16select ename, job, hiredate from empwhere months_between(sysdate,hiredate)/12>=10;17. select * from emp order by ename;18.select ename, hiredate from emp order by hiredate desc;19.select ename,job, sal from emp order by job desc, sal asc;20.select ename, to_char(hiredate,'yyyy') year, to_char(hiredate,'mm') monthsfrom emporder by months, year asc;21.select ename, sal/30 dailysalfrom emp;22. select ename, hiredatefrom empwhere to_char(hiredate,'mm')='02';23. select ename,sysdate-hiredate 天数from emp;24.select ename from emp where instr(ename,'A',1)>0;25. select ename, to_char(hiredate,'yyyy/mm/dd') from emp;--26.列出至少有一个员工的所有部门.select dname from emp,dept where emp.deptno=dept.deptno group by dname;select distinct dname from emp,dept where emp.deptno=dept.deptno;--说明:(1)select中出现的字段一定要出现在group by中;-- (2)如果select中出现的字段不出现在group by中,则一定要出现在select的聚合函数中,对于想出现的字段,可用max()或min()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设有关系:
SB(SNO,SNAME,CITY)
其中SNO为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SNO。

PB(PNO,PNAME,COLOR,WEIGHT)
其中PNO为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PNO。

JB(JNO,JNAME,CITY)
其中JNO为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JNO。

SPJ(SNO,PNO,JNO,QTY)
其中SNO是为指定工程提供零件的供应商代号,PNO为所提供的零件代号,JNO为工程编号,QTY表示提供的零件数量,主关键字为(SNO,PNO,JNO),SNO、PNO、JNO均为外码。

作业:
1.查询所有工程的全部信息。

Select * from jb
2.查询所在城市为上海的所有工程的编号和名字。

Select jno,jname from jb where city=’上海’
3.查询为工程号为J1的工程提供零件的供应商代号。

Select sno from spj where jno=’j1’
4.查询为工程号为J1的工程提供零件号为P1的零件的供应商代号
Select sno from spj where jno=’j1’ and pno=’p1’
5.查询为工程J1或J2提供零件的供应商代号
Select sno from spj where jno=’j1’ or jno=’j2’
6.查询为工程提供的零件数在400以上的供应商代号和零件代号
Select sno , pno from spj where qty>400
7.查询已开始供应零件的供应商代号
Select sno from spj
8.查询零件颜色为红色的零件代号和零件名字
Select pno,pname from pb where color=’红’。

相关文档
最新文档