SQL习题及答案
- 格式:docx
- 大小:35.99 KB
- 文档页数:24
(完整版)sql语句练习题及答案⼀在数据库 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语句练习题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号课程的学生的学号及其成绩,查询结果按分数降序排列。
SQL语句练习练习5. 1. 2: 基于不断滚动的电影数据库的实例:Movie( 电影名title,拍摄年代year ,长度length, inColor ,制片厂名studioName, 制片人证书号producerC# )StarsIn(电影名movieTitle,拍摄年份movieYear ,影星名starName) MovieStar (姓名name,地址address,性别gender ,生日birthdate) MovieExec( 姓名name,地址address ,证书号cert # ,净资产netWorth ) Studio(姓名name, 地址address,总裁证书号presC# )请写出下列SQL 查询语句:* ( a) 找出米高梅制片公司(MGM studios)的地址。
SELECT address AS Studio_AddressFROM Studio WHERE name = 'MGM';( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。
SELECT birthdate AS Star_BirthdateFROM MovieStar WHERE name = 'Sandra Bullock';* ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。
SELECT starName FROM StarsInWHERE movieYear = 1980 OR movieTitle LIKE '%Love%';( d) 找出净资产至少1 000 万美元的所有行政长官。
SELECT name AS Exec_NameFROM MovieExec WHERE netWorth >= 10000000;( e) 找出所有的男影星或者是住址中含有Malibu 的影星。
标准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(时间戳)的列不能赋值,系统自动赋值。
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语言习题一、单项选择题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”的学生中成绩最高的学生的学号。
一、单选题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_)。
--(1)查询20号部门的所有员工信息。
select * from emp e where =20;--(2)查询奖金(COMM)高于工资(SAL)的员工信息。
select * from emp where comm>sal;--(3)查询奖金高于工资的20%的员工信息。
select * from emp where comm>sal*;--(4)查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。
select * from emp ewhere =10 and ='MANAGER')or =20 and ='CLERK')--(5)查询所有工种不是MANAGER和CLERK,--且工资大于或等于2000的员工的详细信息。
select * from empwhere job not in('MANAGER','CLERK') and sal>=2000;--(6)查询有奖金的员工的不同工种。
select * from emp where comm is not null;--(7)查询所有员工工资和奖金的和。
select +nvl,0)) from emp e;--(8)查询没有奖金或奖金低于100的员工信息。
select * from emp where comm is null or comm<100;--(9)查询员工工龄大于或等于10年的员工信息。
select * from emp where (sysdate-hiredate)/365>=10;--(10)查询员工信息,要求以首字母大写的方式显示所有员工的姓名。
select initcap(ename) from emp;select upper(substr(ename,1,1))||lower(substr(ename,2)) from emp;--(11)显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,--若月份相同则按入职的年份排序。
(一) 新建以下几个表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语言一、选择题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)。
第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习题与答案 篇⼀:结构化查询语⾔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练习题库表结构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、统计每门课程的学生选修人数(超过人的课程才统计)。
#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、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。
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、存取路径对用户透明。
第一章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习题及答案实验设有以下关系模式:S(SNO,SNAME,CITY)其中,S表示别SUPPLIER(供应者),SNO为供应者代号,SNAME为供应者的名字,CITY为供应商所在的城市.主键为SNO。
P(PNO,PNAME,COLOR,WEIGHT)其中,P表示PART(零件),PNO为零件代号,PNAME为零件名,COLOR为零件颜色,WEIGHT 为零件重量,主键为PNO。
J(JNO,JNAME,CITY)其中,J表示JOB(工程),JNO为工程编号,JNAME 为工程名,CITY为工程所在城市,主键为JNO。
SPJ(SNO,PNO,JNO,QTY)其中,SPJ表示供应关系,SNO是为指定工程提供零件的供应者代号,PNO是所提供的零件代号,JNO 为工程编号,QTY表示提供的零件数量,主键为(SNO,PNO,JNO),外部键分别为SNO,PNO,JNO。
试做以下各题:1、用SQL的DDL语言创建S,P,J,SPJ四个基本表。
2、按照下面表格提供的数据,用SQL的插入语句插入所有记录。
3、给出下列各题的查询、存储等操作的语句序列,并且上机验证结果。
1)取出所有工程的全部细节;2)取出所在城市为上海的所有工程的全部细节;3)取出重量最轻的那些零件的号码;4)取出为工程J1提供零件的供应者的代号;5)取出为工程J1提供零件P1的供应者的代号;6)取出由供应者S1提供零件的工程的名称;7)取出由供应者S1提供的零件的颜色;8)取出为工程J1和J2提供零件的供应者的代号;9)取出为工程J1提供红色零件的供应者的代号;10)取出为所在城市为上海的工程提供零件的供应者的代号;11)取出为所在城市为上海或北京的工程提供红色零件的供应者的代号;12)取出供应者与工程所在城市相同的供应者提供的零件的代号;13)取出上海的供应者提供给上海的任一工程的零件的代号;14)取出至少有一个和工程不在同一城市的供应者提供零件的工程的代号;15)取出上海供应者不提供任何零件的工程的代号;16)取出这样一些供应者的代号,他们能够提供至少一种由红色零件的供应者提供的零件;17)取出由供应者S1提供零件的工程的代号;18)取出所有这样的三元组<CITY,PNO,CITY>,使得第一个城市的供应者为第二个城市的工程提供零件;19)取出为所有工程提供同样零件的供应者的代号;20)取出提供给上海的所有工程的零件代号;21)取出至少需要供应者S1提供的所有零件的工程的代号;22)把所有红色零件改成橙色;23)删除所有红色零件和对应的SPJ记录;24)取出供应者Sl提供的代号为P1的零件总数;25)取出每个工程的供应商数;26)取出所需的零件总数大于1000的工程代号;1.CREATE TABLE S(SNO CHAR(5) PRIMARY KEY, SNAME CHAR(5),CITY CHAR(10));CREATE TABLE P(PNO CHAR(5) PRIMARY KEY,PNAME CHAR(5),COLOR CHAR(5),WEIGHT INT);CREATE TABLE J(JNO CHAR(5) PRIMARY KEY,JNAME CHAR(5),CITY CHAR(10));CREATE TABLE SPJ(SNO CHAR(5),PNO CHAR(5),JNO CHAR(5),QTY INT,CONSTRAINT PK_SPJ PRIMARY KEY(SNO,PNO,JNO),CONSTRAINT FK_SNO FOREIGN KEY(SNO)REFERENCES S(SNO), CONSTRAINT FK_PNO FOREIGN KEY(PNO)REFERENCES P(PNO), CONSTRAINT FK_JNO FOREIGN KEY(JNO)REFERENCES J(JNO));2.SELECT * FROM J;3.SELECT * FROM J WHERE CITY='上海';4.SELECT PNO FROM P WHERE WEIGHT=(SELECT MIN(WEIGHT) FROM P);5.SELECT DISTINCT SNO FROM SPJ WHERE JNO='J1';6.SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1';7.SELECT DISTINCT JNAME FROM J,SPJ WHERE J.JNO=SPJ.JNO AND SPJ.SNO='S1';8.SELECT DISTINCT COLOR FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.SNO='S1;9.SELECT X.SNO FROM SPJ X WHERE X.JNO='J1'AND EXISTS(SELECT * FROM SPJ Y WHERE Y.SNO=X.SNO AND Y.JNO='J2');10.SELECT DISTINCT SNO FROM SPJ,P WHERE SPJ.JNO='J1' AND SPJ.PNO=P.PNO AND P.COLOR='红';11.SELECT DISTINCT SNO FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.CITY='上海';12.SELECT DISTINCT SPJ.SNO FROM SPJ,J,P WHERE SPJ.JNO=J.JNO AND SPJ.PNO=P.PNO AND P.COLOR ='红' AND (J.CITY='上海' OR J.CITY=' 北京') ;13.SELECT DISTINCT P.PNO FROM S,J,P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND S.CITY=J.CITY;14.SELECT DISTINCT P.PNO FROM S,J,P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND S.CITY='上海' AND J.CITY='上海';15.SELECT DISTINCT JNO FROM J WHERE EXISTS (SELECT * FROM S,SPJ WHERE SPJ.SNO=S.SNO AND J.JNO=SPJ.JNO AND J.CITY<>S.CITY);16.SELECT DISTINCT JNO FROM J WHERE NOT EXISTS(SELECT * FROM S,SPJ WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY='上海');17.SELECT DISTINCT SNO FROM SPJ WHERE PNO IN(SELECT DISTINCT PNO FROM SPJ WHERE SNO IN(SELECT DISTINCT SNO FROM SPJ,PWHERE SPJ.PNO=P.PNO AND P.COLOR='红'));18.SELECT DISTINCT JNO FROM SPJ WHERE SNO='S1';19.SELECT DISTINCT S.CITY,SPJ.PNO,J.CITY FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;20.SELECT DISTINCT SNO FROM S WHERE NOT EXISTS(SELECT * FROM J WHERE NOT EXISTS (SELECT * FROM P,SPJ WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND J.JNO= SPJ.JNO));21.SELECT DISTINCT PNO FROM P WHERE NOT EXISTS(SELECT * FROM J WHERE J.CITY='上海' AND NOT EXISTS(SELECT * FROM SPJ WHERE SPJ.PNO=P.PNOAND SPJ.JNO=J.JNO));22.SELECT DISTINCT JNO FROM SPJ SX WHERE NOT EXISTS(SELECT * FROM SPJ SY WHERE SY.SNO='S1' AND NOT EXISTS(SELECT * FROM SPJ SZ WHERE SY.PNO=SZ.PNO AND SX.JNO=SZ.JNO));23.UPDATE P SET COLORE='橙' WHERE COLORE='红';24.DELETE FROM SPJ WHERE SPJ.PNO IN (SELECT PNO FROM P WHERE COLOR='红'); DELETE FROM P WHERE COLOR='红';25.SELECT SUM(QTY) FROM SPJ WHERE SNO='S1' AND PNO='P1';26.SELECT JNO,COUNT(DISTINCT SNO) FROM SPJ GROUP BY JNO;27.SELECT JNO FROM SPJ GROUP BY JNO HAVING SUM(QTY)>1000;1.//创建s表CREATE TABLE S(SNO CHAR(8) NOT NULL UNIQUE, SNAME VARCHAR(20) NOT NULL UNIQUE, CITY VARCHAR(8),CONSTRAINT CS PRIMARY KEY(SNO));//创建p表CREATE TABLE P(PNO CHAR(8) NOT NULL UNIQUE, PNAME VARCHAR(20) NOT NULL UNIQUE, COLOR CHAR(1),WEIGHT INT,CONSTRAINT CP PRIMARY KEY(PNO));//创建j表CREATE TABLE J(JNO CHAR(8) NOT NULL UNIQUE, JNAME VARCHAR(20) NOT NULL UNIQUE, CITY VARCHAR(8),CONSTRAINT CJ PRIMARY KEY(JNO));//创建spj表CREATE TABLE SPJ(SNO CHAR(8) NOT NULL NUIQUE,PNO CHAR(8) NOT NULL UNIQUE,JNO CHAR(8) NOT NULL UNIQUE, QTY INT,CONSTRAINT CSPJ PRIMARYKEY(SON,PNO,JNO), CONSTRAINT CSPJ FOREING KEY(SNO)REFERENCES S(SNO), CONSTRAINT CSPJ FOREING KEY(PNO)REFERENCES P(PNO), CONSTRAINT CSPJ FOREING KEY(JNO)REFERENCES J(JNO));2.//向s表插入数据INSERT INTO S(SNO,SNAME,CITY) VALUES(‘S1’,’N1’,’上海’); INSERT INTO S(SNO,SNAME,CITY) VALUES(‘S2’,’N2’,’北京’); INSERT INTO S(SNO,SNAME,CITY) VALUES(‘S3’,’N3’,’北京’);VALUES(‘S4’,’N4’,’上海’);INSERT INTO S(SNO,SNAME,CITY)VALUES(‘S5’,’N5’,’南京’);//向p表插入数据INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P1’,’PN1’,’红’,’12’); INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P2’,’PN2’,’绿’,’18’); INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P3’,’PN3’,’蓝’,’20’); INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P4’,’PN4’,’红’,’13’); INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P5’,’PN5’,’蓝’,’11’); INSERT INTO P(PNO,PNAME,COLOR,WEIGHT) VALUES(‘P6’,’PN6’,’红’,’15’);//向j表插入数据INSERT INTO J(JNO,JNAME,CITY)VALUES(‘J1’,’JN1’,’上海’);INSERT INTO J(JNO,JNAME,CITY)VALUES(‘J2’,’JN2’,’广州’);VALUES(‘J3’,’JN3’,’南京’); INSERT INTO J(JNO,JNAME,CITY) VALUES(‘J4’,’JN4’,’南京’); INSERT INTO J(JNO,JNAME,CITY) VALUES(‘J5’,’JN5’,’上海’); INSERT INTO J(JNO,JNAME,CITY) VALUES(‘J6’,’JN6’,’武汉’); INSERT INTO J(JNO,JNAME,CITY) VALUES(‘J7’,’JN7’,’上海’);//向表spj中插入数据INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S1’,’P1’,’J1’,’200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S1’,’P1’,’J4’,’700’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J1’,’400’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J2’,’200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J3’,’200’);VALUES(‘S2’,’P3’,’J4’,’500’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J5’,’600’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J6’,’400’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S2’,’P3’,’J7’,’800’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALU ES(‘S2’,’P5’,’J2’,’100’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S3’,’P3’,’J1’,’200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S3’,’P4’,’J2’,’500’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S4’,’P6’,’J7’,’300’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P2’,’J2’,’200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P2’,’J4’,’100’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P5’,’J5’,’500’);VALUES(‘S5’,’P5’,’J7’,’100’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P6’,’J2’,’200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P1’,’J4’,’1000’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P3’,’J4’,’1200’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P4’,’J4’,’800’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P5’,’J4’,’400’); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES(‘S5’,’P6’,’J4’,’500’);3.1SELECT * FROM J;3.2SELECT * FROM J WHERE CITY LIKE ‘上海’;3.3SELECT PNO FROM P WHEREWEIGHT=(SELECT MAX(WEIGHT)FROM P);3.4SELECT SNO FROM SPJ WHERE JNOIN(SELECT JNO FROM J WHERE JNO=‘J1’);3.5SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’;3.6SELECT JNAME FROM J,SPJ WHEREJ.JNO=SPJ.JNO AND SPJ.SNO=‘S1’;3.7SELECT COLOR FROM P,SPJ WHEREP.PNO=SPJ.PNO AND SPJ.SNO=‘S1’;3.8SELECT DISTINCT SNO FROM SPJ WHERE JNO=‘J1’OR JNO=‘J2’;3.9SELECT SNO FROM SPJ,P WHEREP.PNO=SPJ.PNO AND SPJ.JNO=‘J1’ AND P.COLOR=‘红’’3.10SELECT SNO FROM SPJ,J WHEREJ.JNO=SPJ.JNO AND J.CITY=‘上海’;3.11SELECT SNO FROM SPJ,J,PWHERE SPJ.PNO=P.PNO AND J.JNO=SPJ.JNO AND P.COLOR=‘红’;3.12SELECT SPJ.PNO FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY=J.CITY;3.13SELECT SPJ.PNO FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND J,JNO=SPJ.JNO AND S.CITY=‘上海’ AND J.CITY=‘上海’; 3.14SELECT SPJ.JNO FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;3.15SELECT JNO FROM SPJ WHERE JNO NOT IN (SELECT SPJ.JNO FROM S,SPJ WHERES.SNO=SPJ.SNO AND S.CITY =‘上海’);3.16SELECT SPJ.SNO FROM SPJ,P WHERE SPJ.PNO IN(SELECT SPJ.PNO FROM SPJ,S,PWHERE S.SNO=SPJ.SNO ANDP.PNO=SPJ.PNO AND P.COLOR=‘红’);3.17SELECT SPJ.JNO FROM S,P,SPJWHERE S.SNO=SPJ.SNO ANDJ.JNO=SPJ.JNO;3.18SELECT S.CITY,J.CITY FROM S,J,SPJWHERE S.SNO=SPJ.SNO ANDJ.JNO=SPJ.JNO;3.19SELECT S.CITY,SPJ.PNO,J.CITY FROM S,J,SPJ WHERE S ,=SPJ.SNO AND J.JNO =SPJ.JNO; 3.20SELECT S.CITY,SPJ.PNO,J.CITY FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;3.21SELECT JNO FROM SPJ AS SPJ1WHERE NOT EXISTS(SELECT 1 FROM SPJ AS SPJ2WHERE SNO=‘S1’ AND NOT EXISTS(SELECT 1 FROM SPJ AS SPJ3WHERE SPJ3.PNO=SPJ2.PNO ANDSPJ3.JNO=SPJ1.JNO));3.22UPDATE P SET COLOR=‘红’ WHERE COLOR=‘橙’;3.23DELETE FROM SPJ,PWHERE SPJ.PNO=P.PNO ANDP.COLOR=‘红’;DELETE FROM P WHERE COLOR=‘红’;3.24SELECT SPJ.SNO,SPJ,PNO,SUM(QTY) FROM SPJWHERE SPJ.SNO=‘S1’ ANDSPJ.PNO=‘P1’ GROUP BYSPJ.SNO,SPJ,PNO;3.25SELECT SPJ.SNO,COUNT(*) FROM SPJ GROUP BY SPJ.SNO;3.26SELECT JNO FROM SPJ GROUP BY SNO HAVING SUM(QTY)>1000;。