sql习题及答案
SQL语句练习及答案
![SQL语句练习及答案](https://img.taocdn.com/s3/m/bac1ac04f02d2af90242a8956bec0975f465a41b.png)
sql语句练习题1数据库有如下四个表格:student(sno,sname,sage,ssex,sdpt) 学生表系表(dptno,dname)course(cno,cname, gradet, tno) 课程表sc(sno,cno,score) 成绩表teacher(tno,tname) 教师表要求:完成以下操作1.查询姓"欧阳"且全名为三个汉字的学生的姓名。
select sname from student where sname like “欧阳__‟;2.查询名字中第2个字为"阳"字的学生的姓名和学号。
select sname,sno from student where sname like '_阳%';3.查询所有不姓刘的学生姓名。
select sname,sno,ssexfrom studentwhere sname not like “刘%”;4.查询db_design课程的课程号和学分。
select cno,ccredit from coursewhere cname like 'db_design'5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。
select * from course where cname like 'db%i_ _';6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
select sno,cno from sc where grade is null;7.查所有有成绩的学生学号和课程号。
select sno,cno from sc where grade is not null;8.查询计算机系年龄在20岁以下的学生姓名。
select sname from student where sdept= 'cs' and sage<20;9.查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
3-SQL语句练习题参考答案
![3-SQL语句练习题参考答案](https://img.taocdn.com/s3/m/1482fac9f90f76c661371a94.png)
标准SQL语言一、选择题1、下面关于SQL标准的叙述中,不正确的是(B )。
A.SQL语言是集数据定义、数据操纵、数据控制功能为一体的语言。
B.SQL语言是一种高度过程化的语言。
C.SQL标准规定数据库是按三级模式结构构建。
D.SQL语言是关系型数据库的标准语言。
E.SQL语言是面向集合的语言。
2、SQL语言中,修改基本表结构的语句是( B )。
A.UPDATE B.ALTER C.DROP D.CREATE3、SQL语言中,删除基本表结构的语句是( C )。
A.DELETE B.ALTER C.DROP D.CREATE4、下面关于“视图”的叙述中,不正确的是( C )。
A.视图是一种“虚表”,它的数据被存放在基本表中。
B.视图提供了逻辑数据独立性。
C.不能通过视图来更新数据库中的数据。
D.视图能提供对数据的安全保护。
5、下面关于SELECT语句的叙述中,不正确的是(C)。
A.SELECT产生的结果是一个集合。
B.HA VING子句必须与GROUP BY子句一起使用。
C.可以省略FROM子句。
D.可以省略WHERE子句。
二、填空题1、在使用INSERT语句向一个表中插入元组时,“值列表”中值的个数、(顺序)、类型必须与“列名表”保持一致。
2、在向一个表中插入元组时,对于未指定默认值且(不能取空值)的字段必须赋值。
3、向表中插入元组时,主键的值不能取(NULL )值。
4、在使用DELETE语句时,如果不指定(where 条件)就会将整个表的数据删除。
5、视图是从一个或几个基本表或(视图)导出的表,它与基本表不同,是一个虚表。
三、判断题1、SQL语言是面向集合操作的语言。
√2、可以通过视图来查询数据,但不能通过视图来更新数据库中的数据。
×3、在SQL Server数据库系统中,向表中插入元组时,系统自动为具有标识属性的列赋值。
√4、在SQL Server数据库系统中,向表中插入元组时,对取值类型为timestamp(时间戳)的列不能赋值,系统自动赋值。
SQL查询习题及答案
![SQL查询习题及答案](https://img.taocdn.com/s3/m/f2b34450be23482fb4da4c70.png)
36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。
《数据库系统概论》SQL语言复习题(含答案)
![《数据库系统概论》SQL语言复习题(含答案)](https://img.taocdn.com/s3/m/4c1d191169dc5022abea008d.png)
SQL语言习题一、单项选择题1.SQL语言是的语言,易学习。
A.过程化B.非过程化C.格式化D.导航式答案:B2.SQL语言是语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3.SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
其中最重要的,也是使用最频繁的语句是。
A.SELECT B.INSERT C.UPDA TE D.DELETE答案:A5.SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL答案:C6.SQL语言中,实现数据检索的语句是。
A.SELECT B.INSERTC.UPDATE D.DELETE答案:A7.下列SQL语句中,修改表结构的是。
A.ALTER B.CREATEC.UPDATE D.INSERT答案:A第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
8.检索所有比“王华”年龄大的学生姓名、年龄和性别。
正确的SELECT语句是。
A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=’王华’)B.SELECT SN,AGE,SEX FROM SWHERE SN=’王华’C.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGEWHERE SN=’王华’)D.SELECT SN,AGE,SEX FROM SWHERE AGE>王华.AGE答案:A9.检索选修课程“C2”的学生中成绩最高的学生的学号。
(完整版)SQL复习题(附部分答案)
![(完整版)SQL复习题(附部分答案)](https://img.taocdn.com/s3/m/3a57f857a58da0116d174900.png)
一、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C.能体现一对多、多对多的关系,但不能体现一对一的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时答案[B]3、关系数据库中,主键是(___),当运用Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(___)等关键字。
A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字(_2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(_3__),如果在SELECT语句中使用聚合函数时,可以在后面使用(_4_)。
(完整版)sql练习题+答案
![(完整版)sql练习题+答案](https://img.taocdn.com/s3/m/5629596d1a37f111f0855b1c.png)
(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 and 100 ),---- 检查约束一—j(成绩)只能在~100之间,可以不输入值constraint f primary key ( sno , cno )---- 定义学生学号和课程号为sc表的主键)course(课程表)其约束如下:(1)课程号(cno)不能有重复的(2)课程名(cname非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。
Select sno , sname from student(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。
(3)查询全体学生的详细记录。
select * from student(4)查全体学生的姓名及其出生年份。
select sname , birth from student(5)查询学校中有哪些系。
select distinct dept from student(6)查询选修了课程的学生学号。
select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。
第三章 SQL语言练习题和答案
![第三章 SQL语言练习题和答案](https://img.taocdn.com/s3/m/be2754f3f90f76c661371af7.png)
第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。
A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。
A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。
A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
SQL语言习题参考答案
![SQL语言习题参考答案](https://img.taocdn.com/s3/m/d6370874770bf78a652954a7.png)
第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语句练习题及答案
![(完整版)sql语句练习题及答案](https://img.taocdn.com/s3/m/8cb4f9835f0e7cd18525363c.png)
一在数据库 school 中建立student , sc, course 表。
学生表、课程表、选课表属于数据库School ,其各自的数据结构如下:学生Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学生选课SC(Sno,Cno,Grade)二设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男生delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学生的系科为: JSJ2 把陈小明的年龄加1岁,性别改为女。
2 修改李文庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句一单表1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。
2查询姓名中第2个字为“明”字的学生学号、性别。
3查询 1001课程没有成绩的学生学号、课程号4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列5按10分制查询学生的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。
90-100为10)6查询 student 表中的学生共分布在那几个系中。
SQL 习题
![SQL 习题](https://img.taocdn.com/s3/m/cebb9eeb5ef7ba0d4a733b29.png)
1、在SELECT语句中用_________关键字能消除重复行,用_________关键字返回前面一定数量的数据。
2、CAST函数和___________函数能将一个表达式从一种数据类型转换成另一种数据类型。
3、SQL语言虽然是结构化查询语言,但其实它的功能包括了___________、___________和_____________。
4、Primary Key约束的中文意思是___________约束,Foreign Key约束的中文意思是____________约束。
5、SQL Server 2000的事务处理控制语句有BEGIN TRAN、SAVE TRAN、_____________和______________。
6、在企业管理器更改某数据库的名称需要执行的系统存储过程名是____________。
7、在完全数据库备份、差异备份和日志备份三者中,还原速度最快的是____________;能将数据库还原到指定时间点的是____________;在还原中不可缺少的是____________。
8、在定义数据表时,定义某列为标识列的关键字是_______________。
9、在对表记录的插入操作中,Insert语句允许省略列清单,但这种格式需符合的前提条件是___________________________________________________。
10、某字段记录中的数据是NULL,表示该字段中的数据为_________________。
11、在使用触发器过程中,SQL Server使用到了两张特殊的临时表分别是__________和__________。
12、用__________________命令删除表的操作不进行日志的记录,可以提高删除表的速度。
13、一个表和其自身进行内连接称为____________________。
在进行这种联结查询时,必须对表____________________。
结构化查询语言SQL习题与答案
![结构化查询语言SQL习题与答案](https://img.taocdn.com/s3/m/3969096403768e9951e79b89680203d8ce2f6a2a.png)
结构化查询语⾔SQL习题与答案结构化查询语⾔SQL习题与答案 篇⼀:结构化查询语⾔SQL习题与答案 ⼀、选择题 1. 在SQL包含的功能中,最重要的功能是_______。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 2. 使⽤SQL语⾔有两种⽅式,它们是_______。
A) 菜单式和交互式B) 嵌⼊式和程序式 C) 交互式和嵌⼊式D) 命令式和解释式 3. SQL的全部功能可以⽤9个动词概括,其中动词INSERT是属于下列______功能。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 4. SQL语⾔⽀持数据库的三级模式结构,其中模式对应于______。
A) 存储⽂件 B) 视图 C) 基本表 D) 视图和基本表 5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。
A) 0B) 空格 C) NULL D) 不确定 6. 在SQL的ALTER语句中,⽤于删除字段的⼦句是______。
A) ALTER B) DELETE C) DROP D) MODIFY 7. SQL中的INSERT语句可以⽤于______。
A) 插⼊⼀条记录 B) 插⼊⼀个字段 C) 插⼊⼀个索引 D) 插⼊⼀个表 8. 下列描述错误的是______。
A)⽤INSERT-SQL语句可以插⼊⼀条记录 B)⽤INSERT-SQL语句可以插⼊多条记录 C)使⽤INSERT-SQL语句可以插⼊记录的部分数据 D)使⽤INSERT-SQL语句插⼊记录时列名的排列顺序必须与表定义时的顺 序⼀致 9. INSERT-SQL语句中所使⽤的数据不能来⾃于______。
A) 数组 B) 变量 C) 查询 D) 索引 10. SQL中的UPDATE语句可以⽤于______。
A) 更新数据表的结构 B) 更新数据表的值 C) 更新索引D) 更新查询 11. 下列描述错误的是______。
sql经典练习题库(附答案)
![sql经典练习题库(附答案)](https://img.taocdn.com/s3/m/f561239ed1d233d4b14e852458fb770bf68a3b5d.png)
SQL练习题库表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表试题:1、查询“0001”课程比“C002”课程成绩高的所有学生的学号;Select s# from scWhere c#='0001' and score>any(select score from sc c#='0002')2、查询平均成绩大于60分的同学的学号和平均成绩;select s#,avg(score) from SCgroup by s#having avg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;select student.s#,student.sname,count(sc.c#)as 选课数,sum(score)总成绩from student,scwhere student.s#=sc.s#group by student.s#,student.sname4、查询姓“张”的老师的个数;select count(*)人数from teacherwhere tname like'张%'5、查询没学过“叶平”老师课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# not in(select t# from teacher where tname='张丽芬') group by student.s#,student.sname6、查询学过“0001”并且也学过编号“0002”课程的同学的学号、姓名;select sc.s#,sname from sc,studentwhere sc.c# = '0001' and student.s# = sc.s# and sc.s# in (select s# from sc where sc.c# = '0002')--并(两表值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'unionselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--交(有相同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'intersectselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--差(不同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'exceptselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# in(select t# from teacher where tname='张丽芬')group by student.s#,student.sname8、查询课程编号“001”的成绩比课程编号“002”课程低的所有同学的学号、姓名;select student.s#,sname,score from student,scwhere student.s#=sc.s# and score in(( select score from sc where c#='0001' )<all( select score from sc where c#='0002' )) 9、查询所有课程成绩小于60分的同学的学号、姓名;select student.s#,sname from studentwhere s# in(select s# from sc where score<60)10、查询没有学全所有课的同学的学号、姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s#group by student.s#,student.snamehaving count(c#)<(select count(c#) from course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s# and c#=any(select c# from scwhere s#='1001')group by student.s#,student.sname12、查询至少学过学号为“0001”同学所有一门课的其他同学学号和姓名;Select sc.s#,sname from sc inner join student on sc.s#=student.s#Where c# in (select c# from sc where s#=’0001’)13、把“SC”表中“赵雁南”老师教的课的成绩都更改为此课程的平均成绩;update scset score=(select avg(sc.score) from sc,teacher,coursewhere sc.c#=course.c# and course.t#=teacher.t# and teacher.tname='赵雁南')where sc.c#=(select c# from course,teacher where course.t#=teacher.t# and tname='赵雁南' )14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select student.s#,sname from student,scwhere student.s#=sc.s# and sc.c#=all(select c# from sc where s#='1005') and student.s#<>'1005'15、删除学习“朱玉文”老师课的SC表记录;delete from scwhere c# in(select c# from sc where c# in (select c# from course,teacher where teacher.t#=course.t# and teacher.tname='朱玉文' ) )16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“0002”课程的同学学号、号课的平均成绩;insert into scvaluesselect s# from sc where s# not in (select s# from sc where c#='0002'select avg(score) as 平均成绩from sc where c#='0002'17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分select sc.s#,ame,sc.score,avg(score)as 平均成绩from sc inner join course on sc.c#=course.c#where sc.c# in(select c# from course where cname=any(select cname from course where cname in('计算机基础','Oracle','软件工程')))group by sc.s#,ame,sc.scoreorder by avg(score) descSELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0001') AS 计算机基础,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0002') AS Oracle,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0011') AS 软件工程,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM sc AS tGROUP BY S#ORDER BY avg(t.score) desc18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select c# 课程ID,max(score) 最高分,min(score) 最低分from scgroup by c#19、按各科平均成绩从低到高和及格率的百分数从高到低顺序select c#, avg(score) from scwhere score>60group by c#20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()21、查询不同老师所教不同课程平均分从高到低显示select course.t#,avg(sc.score) as 平均分from sc,coursewhere sc.c#=course.c#group by course.t#order by avg(sc.score) desc22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理,马克思,UML,数据库[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩select student.s#,student.sname,sc.score,ame from student inner join sc on student.s#=sc.s#inner join course on sc.c#=course.c#where ame in('oracle','电路分析','计算机基础')order by ame,sc.score desc23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]select sc.c#,ame,count(*)人数from sc,coursewhere course.c#=sc.c#group by sc.c#,ame24、查询学生平均成绩及其名次select sc.s#,avg(score) from scgroup by sc.s#order by avg(score) desc25、查询各科成绩前三名的记录考虑成绩并列情况select s#,c# ,score from scwhere score in (select distinct top 3 score from scgroup by c#,score)order by score desc26、查询每门课程被选修的学生数select c# as 课程号,count(c#)as 选修人数from scgroup by c#order by count(c#) desc27、查询出只选修了一门课程的全部学生的学号和姓名select sc.s#,student.sname from sc inner join student on student.s#=sc.s#group by sc.s#,student.snamehaving count(c#)=128、查询男生、女生人数select ssex, count(*) as 总人数from studentgroup by ssex29、查询姓“张”的学生名单select sname from studentwhere sname like '张%'30、查询同名同性学生名单,并统计同名人数select ssex,count(*) from studentgroup by ssex31、同年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列select c#,avg(score)平均成绩from scgroup by c#order by avg(score) asc33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select top 1 student.s#,student.sname,avg(score)平均成绩from student inner join sc on student.s#=sc.s#group by student.s#,student.snameorder by avg(score) desc34、查询课程名称为“数据库”,且分数低于80的学生姓名和分数select student.sname,sc.score from sc,student,coursewhere student.s#=sc.s# and sc.c#=course.c# and ame='计算机基础' and sc.score<80group by student.sname,sc.score35、查询所有学生的选课情况;select student.s#,sname,c# from student left join sc on student.s#=sc.s#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;select student.sname,ame,sc.score from student,sc,coursewhere student.s#=sc.s# and sc.c#=course.c# and sc.score>70order by score desc37、查询不及格的课程,并按课程号从大到小排列select c#,score from scwhere score<60order by c#38、查询课程编号为0001且课程成绩在70分以上的学生的学号和姓名;select student.s#,sname from sc,studentwhere c#='0001' and score>70 and student.s#=sc.s#39、求选了课程的学生人数select count(s#)人数from scwhere sc.score<>040、查询选修“oracle”课程的学生中,成绩最高的学生姓名及其成绩select top 1 student.sname,max(sc.score)成绩最高from student inner join sc on student.s#=sc.s# inner join course on sc.c#=course.c#where ame='oracle'group by student.snameorder by max(sc.score) desc41、查询各个课程及相应的选修人数select ame,count(sc.c#) as 选修人数from sc inner join course on sc.c#=course.c#group by ameorder by count(sc.c#) desc,ame asc42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#44、统计每门课程的学生选修人数(超过人的课程才统计)。
SQL复习题(附部分答案)
![SQL复习题(附部分答案)](https://img.taocdn.com/s3/m/3fe32a39af45b307e87197a6.png)
语句。
(A)保存 (B)编写 (C)解释 (D)编译
答案[ D]
29、数据管理发展的三个阶段不包括(
)。
(A)人工管理阶段 (B)文件管理阶段
(C)数据库管理阶段 (D)智能管理阶段
答案[ D]
30、SQL 语言按照用途可以分为三类,不包括下面选项中的( )。
(A)DML (B)DCL (C)DQL (D)DDL
B.UPDATE,INSERT
C、DELETE,UPDATE
D.CREATE,INSERT INTO
答案[ A]
47、创建表的命令是( )。
A、 Create database 表名
B.Create VIEW 表名
C、 Create TABLE 表名
D.Alter TABLE 表名
答案[ C]
48、在 Transact-SQL 语法中,SELECT 语句的完整语法较复杂,但至少包括的部分
答案[ D]
19、 聚合函数的返回值是( )。
A、一个标量值 B、一组值 C、表达式 D、表
答案[ A]
20、关于主键描述正确的是:(
)
(A)包含一列
(B)包含两列
(C)包含一列或者多列 (D)以上都不正确
答案[ ]
22、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配 0 个到多个字符的
(C).mdf (D).idf
答案[B ]
27、表示职称为副教授同时性别为男的表达式为(
)
A.职称=‘副教授' OR 性别=‘男'
B.职称=‘副教授' AND 性别=’男'
C.BETWEEN‘副教授' AND ’男'
sql数据库原理习题集(带答案)
![sql数据库原理习题集(带答案)](https://img.taocdn.com/s3/m/75161e7e1711cc7931b71602.png)
#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。
A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。
A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。
A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。
A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。
则该关系模式的码是(D )。
A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。
(完整版)第3章SQL语言习题参考答案(新)
![(完整版)第3章SQL语言习题参考答案(新)](https://img.taocdn.com/s3/m/f12a37d558fafab069dc02ea.png)
第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 SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
SQL数据库习题及答案
![SQL数据库习题及答案](https://img.taocdn.com/s3/m/c3da022252d380eb62946de5.png)
SQL数据库习题及答案1.模型中,同一个关系中的不同属性,其属性名__B__。
A. 可以相同 B. 不能相同C. 可以相同,但数据类型不同 D. 必须相同2.数据库系统由数据库、A组成。
A.DBMS、应用程序、支持数据库运行的软硬件环境和DBA3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是B。
B.文件管理阶段C.数据库管理阶段D.信息管理系统阶段4.在数据库的三级体系结构中,数据库的模式对应于数据库的D B.内部视图C.存储视图D.概念视图5.在数据库的三级体系结构中,数据的逻辑独立性是通过D来实现的。
D.外模式-模式映射6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。
7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。
8.在SPARC结构中,定义的数据库三层结构分别是外模式、模式和内模式。
9.数据的独立性包括物理独立性和逻辑独立性两个方面。
10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。
答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。
12.试说明DBMS的组成。
答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。
14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。
SQL课后练习题(1-9章答案)
![SQL课后练习题(1-9章答案)](https://img.taocdn.com/s3/m/f184f3eb998fcc22bcd10da2.png)
第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。
A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。
sql数据库练习题参考答案
![sql数据库练习题参考答案](https://img.taocdn.com/s3/m/8b934a02b90d6c85ec3ac6b0.png)
第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。
13.将需求分析得到的用户需求抽象为信息结构即概念模型。
14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。
15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。
三、指出以下各缩写的英文意思和中文意思1.DB:Database2.DBMS:Database Management System3.RDBMS:4.DBS:Database System5.DBA:Database Administrator6.NF:Normal Form7.DDL:Data Definition Language 四、按题目要求回答问题3.答:(1)关系R是2NF。
因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题1、查询Student表中得所有记录得Sname、Ssex与Class列。
2、查询教师所有得单位即不重复得Depart列。
3、查询Student表得所有记录。
4、查询Score表中成绩在60到80之间得所有记录。
5、查询Score表中成绩为85,86或88得记录。
6、查询Student表中“95031”班或性别为“女”得同学记录。
7、以Class降序查询Student表得所有记录。
8、以Cno升序、Degree降序查询Score表得所有记录。
9、查询“95031”班得学生人数。
10、查询Score表中得最高分得学生学号与课程号。
11、查询‘3-105’号课程得平均分。
12、查询Score表中至少有5名学生选修得并以3开头得课程得平均分数。
13、查询最低分大于70,最高分小于90得Sno列。
14、查询所有学生得Sname、Cno与Degree列。
15、查询所有学生得Sno、Cname与Degree列。
16、查询所有学生得Sname、Cname与Degree列。
17、查询“95033”班所选课程得平均分。
18、假设使用如下命令建立了一个grade表:create table grade(low numeric(3,0),upp numeric(3),rank char(1));insert into grade values(90,100,'A');insert into grade values(80,89,'B');insert into grade values(70,79,'C');insert into grade values(60,69,'D');insert into grade values(0,59,'E');现查询所有同学得Sno、Cno与rank列。
19、查询选修“3-105”课程得成绩高于“109”号同学成绩得所有同学得记录。
20、查询score中选学一门以上课程得同学中分数为非最高分成绩得记录。
21、查询成绩高于学号为“109”、课程号为“3-105”得成绩得所有记录。
22、查询与学号为108得同学同年出生得所有学生得Sno、Sname与Sbirthday列。
23、查询“张旭“教师任课得学生成绩。
24、查询选修某课程得同学人数多于5人得教师姓名。
25、查询95033班与95031班全体学生得记录。
26、查询存在有85分以上成绩得课程Cno、27、查询出“计算机系“教师所教课程得成绩表。
28、查询“计算机系”与“电子工程系“不同职称得教师得Tname与Prof。
29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”得同学得Cno、Sno与Degree,并按Degree从高到低次序排序。
30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程得同学得Cno、Sno与Degree、31、查询所有教师与同学得name、sex与birthday、32、查询所有“女”教师与“女”同学得name、sex与birthday、33、查询成绩比该课程平均成绩低得同学得成绩表。
34、查询所有任课教师得Tname与Depart、35 查询所有未讲课得教师得Tname与Depart、36、查询至少有2名男生得班号。
37、查询Student表中不姓“王”得同学记录。
38、查询Student表中每个学生得姓名与年龄。
39、查询Student表中最大与最小得Sbirthday日期值。
40、以班号与年龄从大到小得顺序查询Student表中得全部记录。
41、查询“男”教师及其所上得课程。
42、查询最高分同学得Sno、Cno与Degree列。
43、查询与“李军”同性别得所有同学得Sname、44、查询与“李军”同性别并同班得同学Sname、45、查询所有选修“计算机导论”课程得“男”同学得成绩表下面就是参考答案:SQL语句练习题参考答案1、select sname,ssex,class from student;2、select distinct(depart) from teacher;orselect distinct depart from teacher;3、select * from student;4、select * from score where degree between 60 and 80;orselect * from score where degree>=60 and degree<=80;5、select * from score where degree in (85,86,88);orselect * from score where degree=85 or degree=86 or degree=88;6、select * from student where class=95031 or ssex='女';7、select * from student order by class desc;8、select * from score order by cno asc,degree desc;orselect * from score order by cno,degree desc;9、select count(*) from student where class=95031;orselect count(sno) from student where class=95031;10、select Sno as '学号',cno as '课程号', degree as '最高分' from score where degree=(select max(degree) from score);11、 select avg(degree) from score where cno='3-105';12、select cno,avg(degree) from score where cno like '3%' group by cno having count(sno)>5;orselect cno,avg(degree) from score where cno like '3%' group by cno having count(*)>5;13、select sno from score group by sno having min(degree)>70 and max(degree)<90;14、select student、sname,scoreo,score、degree from student,score where student、sno=score、sno; orselect sname,cno,degree from student,score where student、sno=score、sno;orselect x、sname,yo,y、degree from student x,score y where x、sno=y、sno;15、Select score、sno,courseame,score、degree from score,course where scoreo=courseo;orselect sno,cname,degree from score,course where scoreo=courseo;orselect x、sno,yame,x、degree from score x,course y where xo=yo;16、select student、sname,courseame,score、degree from student,course,score where student、sno=score、sno and courseo=scoreo;orselect sname,cname,degree from student,course,score where student、sno=score、sno and courseo=scoreo;orselect x、sname,yame,z、degree from student x,course y,score z where x、sno=z、sno and yo=zo;17、select cno,avg(degree) from score,student where student、sno=score、sno and class=95033 group by cno;orselect yo,avg(y、degree) from student x,score y where x、sno=y、sno and x、class=95033 group by yo;18、select sno,cno,rank from score,grade where degree between low and upp [order by rank]; [ ]表示可有可无19、select * from score where cno='3-105' and degree>(select degree from score where sno='109' and cno='3-105');orselect x、* from score x,score y where xo='3-105' and x、degree>y、degree and y、sno='109' and yo='3-105';20、分析:1、成绩非本科最高select * from score where degree not in (select max(degree) from score group by cno)选学一门以上得学生成绩:select sno from score group by sno having count(*)>1;2、查询成绩非本科最高并且选1门以上得学生得成绩:select * from score where degree not in(select max(degree) from score group by cno) group by sno having count(*)>1;orselect * from (select * from score where degree not in(select max(degree) from score group by cno)) as aa group by sno having count(*)>=2;通用答案:select sno from( select * from scorewhere degree not in(select max(degree) from score group by cno)) as aa group by sno having count(*)>=2;21、select * from score where degree>(select degree from score where sno=109 and cno='3-105'); orselect x、* from score x,score y where x、degree>y、degree and y、sno=109 and yo='3-105';22、select sno,sname,sbirthday from student where year(sbirthday)=(select year(sbirthday) from student where sno=108);23、select * from score where cno in(select cno from course where tno=(select tno from teacher where tname='张旭'));orselect cno,sno,degree from score where cno=(select xo from course x,teacher y where x、tno=y、tno and y、tname='张旭');24、select tname from teacher where tno in (select x、tno from course x,score y where xo=yo and yo in (select cno from score group by cno having count(*)>5));orselect tname from teacher where tno in(select tno from course where cno in(select cno from score group by cno having count(*)>5));orselect tname from teacher where tno in(select x、tno from course x,score y where xo=yo group by x、tno having count(x、tno)>5);25、select * from student where class in ('95033','95031');orselect * from student where class=95033 or class=95031;26、select distinct cno from score where degree in (select degree from score where degree>85);27、select * from score where cno in (select cno from course where tno in (select tno from teacher where depart='计算机系'));orselect * from score where cno in(select xo from course x,teacher y where y、tno=x、tno and y、depart='计算机系');28、select tname,prof from teacher where depart='计算机系' and prof not in (select prof from teacher where depart='电子工程系');29、select * from score where cno='3-105' and degree>(select min(degree) from score wherecno='3-245') order by degree desc;orselect * from score where cno='3-105'and degree>any(select degree from score where cno='3-245') order by degree desc;30、select * from score where cno='3-105' and degree>(select max(degree) from score wherecno='3-245');orselect * from score where cno='3-105' and degree>all(select degree from score wherecno='3-245');31、select sname as name,ssex as sex,sbirthday as birthday from studentunionselect tname,tsex,tbirthday from teacher;32、select sname as name,ssex as sex,sbirthday as birthday from student where ssex='女' unionselect tname,tsex,tbirthday from teacher where tsex='女';33、select * from score a where degree<(select avg(degree) from score b where ao=bo);34、 select tname,depart from teacher where tno in(select tno from course);35、 select tname,depart from teacher where tno not in (select tno from course);36、select class from student where ssex='男' group by class having count(sno)>=2;37、 select * from student where sname not like '王%';38、select sname as '姓名',2010-year(sbirthday) as '年龄' from student;39、select sbirthday from student where sbirthday in (select min(sbirthday) from student) unionselect sbirthday from student where sbirthday in (select max(sbirthday) from student); orselect sbirthday from student where sbirthday=(select min(sbirthday) from student) or sbirthday=(select max(sbirthday) from student);40、select * from student order by class desc,sbirthday;41、select cname,tname from course,teacher where course、tno=teacher、tno and tsex='男';orselect courseame,teacher、tname from course,teacher where course、tno=teacher、tno and tsex='男';orselect cname,tname from course x,teacher y where x、tno=y、tno and y、tsex='男';orselect x、tname,yame from teacher x,course y where x、tno=y、tno and x、tsex='男';42、 select * from score where degree in (select max(degree) from score);43、select sname from student where ssex=(select ssex from student where sname='李军');44、 select sname from student where ssex=(select ssex from student where sname='李军') and class=(select class from student where sname='李军');45、select * from score where sno in(select sno from student where ssex='男') and cno in(select cno from course where cname='计算机导论');注意:20题得前两个答案在sql server 中不支持,在mysql中支持如果题答案中有错误,请记得及时通知我让我纠正错误!我得邮箱地址:。