sql查询练习题2013

合集下载

SQL查询练习

SQL查询练习

SQL查询练习SQL查询练习⼀、有三个关系,试⽤关系代数表达式表⽰下列查询语句:S(sno,sname,age,sex,sdept)C(cno,cname,cdept,tname) tname表⽰授课⽼师名SC(sno,cno,grade)(1) 检索年龄⼩于22岁的男学⽣的学号与姓名。

(2) 检索学号为S3学⽣所学课程的课程名与任课教师名。

(3) 检索王⽼师所授课程的课程号、课程名。

(4) 检索⾄少选修王⽼师所授课程中⼀门课的男学⽣姓名。

(5) 检索陈同学不学的课程的课程号。

(6) 检索全部学⽣都选修的课程的课程号、课程名。

(7) 检索选修课程包含王⽼师所授课程的学⽣学号。

(8) 检索⾄少选修两门课程的学⽣学号。

(9) 查询⾄少选修了2号课程和8号课程的学⽣姓名。

(10) 查询张红的年龄。

(11) 查询李明同学不及格的课程名称。

(12) 查询选修了“计算机⽹络”的学⽣姓名。

(13) 查询“计算机⽹络”成绩在90分以上的学⽣姓名。

⼆、设有下列四个关系模式:S (SNO, SNAME, CITY);P (PNO, PNAME, COLOR, WEIGHT);J (JNO, JNAME, CITY);SPJ(SNO, PNO, JNO, QTY)。

其中,供应商关系S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成。

零件关系P由零件号(PNO)、零件名称(PNAME)、零件颜⾊(COLOR)、零件重量(WEIGHT)组成,⽤于记录各种零件的情况。

项⽬关系J由项⽬号(JNO)、项⽬名称(JNAME)、项⽬所在城市(CITY) 组成。

供应情况关系SPJ由供应商号(SNO)、零件号(PNO)、项⽬号(JNO)、供应数量(QTY) 组成。

试⽤关系代数表达式完成以下操作:(1) 检索供应项⽬J2零件的供应商号(SNO)。

(2) 检索供应项⽬J2零件P2的供应商号(SNO)。

(3) 检索供应项⽬J2⿊⾊零件的供应商姓名(SNAME)。

SQL查询练习题

SQL查询练习题

--练习题01:查找出已修学分低于20分的学生的姓名、性别和班主任。

select 姓名,性别,班主任 from 学生,班级 where 学生.班级编号=班级.班级编号 and 已修学分<20--练习题02:查找出学生“王林”的班主任。

select 班主任 from 班级 where 班级编号 in(select 班级编号 from 学生 where 姓名='王林')--练习题03:查找出班主任“刘成河”班的全部男生的信息。

select 学生.* from 学生,班级 where 性别='男' and 班主任='刘成河' and 学生.班级编号=班级.班级编号--练习题04:查找出课程“中国历史”考试及格的全部学生的学号、姓名、班级名称和分数。

Select 学生.学号,姓名,班级名称,分数 from 学生,成绩,课程,班级 where 课程名称='中国历史'and 课程.课程编号=成绩.课程编号 and 学生.学号=成绩.学号 and 学生.班级编号=班级.班级编号 and 分数>=60--练习题05:查找出全部同学的所有考试的姓名、课程名称、分数,查找结果的格式如下:Select 姓名,课程名称,分数 from 学生,课程,成绩 where 课程.课程编号=成绩.课程编号and 学生.学号=成绩.学号--练习题01:查找出班主任“刘成河”班的全部男生的信息。

Select*from 学生 where 性别='男' and 班级编号 in(select 班级编号 from 班级 where 班主任='刘成河')--练习题02:查找出考试全及格的课程名称。

Select 课程名称 from 课程 where 课程编号 not in (select 课程编号 from 成绩 where 分数<60)select 课程名称from 课程where not exists(select *from 成绩where 成绩.课程编号=课程.课程编号 and 分数<60)--练习题03:查找出所有学生的考试都及格的班级,并排除那些没有学生的班级。

SQL-查询题目(整理)

SQL-查询题目(整理)

SQL语言和查询、视图部分一、选择题:1、利用查询设计器创建的查询,其查询结果输出去向的默认类型是__B__。

A)临时表B)浏览C)表 D)屏幕2、如果要在屏幕上直接看到查询结果,“查询去向”应该选择__D__。

A) 屏幕B) 浏览C) 临时表或屏幕D) 浏览或屏幕3、一条没有指明去向的SQL SELECT 语句执行之后,会把查询结果显示在屏幕上,要退出这个查询窗口,应该按的键是__C__A)ALT B)DELETE C)ESC D)RETURN4、不可以作为查询与视图的数据源的是__A__。

A)查询B)数据库C)记录D)字段5、查询设计器和视图设计器的主要不同表现在于__B__。

A) 查询设计器有“更新条件”选项卡,没有“查询去向”选项B) 查询设计器没有“更新条件”选项卡,有“查询去向”选项C) 视图设计器没有“更新条件”选项卡,有“查询去向”选项D) 视图设计器有“更新条件”选项上,也有“查询去向”选项6、在Visual FoxPro中,关于视图的正确叙述是__D__A) 视图与数据库表相同,用来存储数据B) 视图不能同数据库表进行连接操作C) 在视图上不能进行更新操作D) 视图是从一个或多个数据库表导出的虚拟表7、在SQL查询时,使用WHERE子句指出的是__C__。

A) 查询目标B) 查询结果C) 查询条件D) 查询视图8、删除视图salary的命令是BA)DROP salary VIEW B)DROP VIEW salary C)DELETE salary VIEW D)DELETE salary9、不属于数据定义功能的SQL语句是CA) CREATE TABLE B) CREATE CURSOR C) UPDATE D) ALTER TABLE10、在SQL中,建立视图用CA) CREATE SCHEMA命令B) CREATE TABLE命令C) CREATE VIEW命令D) CREATE INDEX命令11、 SQL语句中删除表的命令是AA) DROP TABLE B) DELETE TABLE C) ERASE TABLE D) DELETE DBF12、 SQL语句中修改表结构的命令是CA) MODIFY TABLE B) MODIFY STRUCTUREC) ALTER TABLE D) ALTER STRUCTURE13、使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当BA)使用WHERE子句B)在GROUP BY后面使用HAVING 子句C)先使用WHERE子句,再使用HAVING 子句。

sql考试题及答案

sql考试题及答案

sql考试题及答案SQL考试题及答案一、选择题(每题2分,共20分)1. 下列哪个SQL语句用于查询数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 以下哪个SQL语句用于删除表中的数据?A. DROP TABLEB. DELETE FROMC. TRUNCATE TABLED. ALTER TABLE答案:B3. SQL中的主键约束是什么?A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:B4. 以下哪个函数用于计算字符串的长度?A. CONCAT()B. SUBSTRING()C. LENGTH()D. UPPER()答案:C5. 以下哪个语句用于添加新的数据表?A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B6. SQL中的LIKE语句用于什么?A. 排序B. 条件搜索C. 聚合数据D. 连接表答案:B7. 以下哪个语句用于修改表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B8. SQL中的GROUP BY语句用于什么?A. 排序结果B. 聚合数据C. 过滤数据D. 连接表答案:B9. 以下哪个语句用于删除数据库?A. DROP TABLEB. DROP DATABASEC. DELETE FROMD. TRUNCATE TABLE答案:B10. SQL中的INNER JOIN用于什么?A. 内连接B. 外连接C. 全连接D. 交叉连接答案:A二、填空题(每空2分,共20分)1. SQL中的______语句用于插入数据到表中。

答案:INSERT INTO2. 要查询所有列,可以使用SQL中的______关键字。

答案:*3. SQL中的______语句用于删除表。

2013年9月份考试数据库系统及应用(SQL)第三次作业

2013年9月份考试数据库系统及应用(SQL)第三次作业

2013年9月份考试数据库系统及应用(SQL)第三次作业一、填空题(本大题共40分,共 10 小题,每小题 4 分)1. 关系数据库是采用 ______ 作为数据的组织方式。

2. 实体间 ______ 、 ______ 、和 ______ 三类基本联系是概念数据模型的基础。

3. SQL Server2000采用的结构化查询语言称为 ______ 。

4. ______ 是指分析数据库建设是否具有可行性。

5. 文件系统管理数据的缺点有 ______ , ______ 和 ______ 。

6. 乘积空间中的有限集合称为 ______ ,无限集合称为 ______7. SQL标准中所有约束都定义有 ______ 和 ______ 。

约束的延迟模式分为______ 和 ______ 。

8. 客户端网络实用程序必须根据 ______ 进行相应的设置,才能确保正确的数据通信。

9. 在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为______ 。

“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的 ______ 设计阶段。

10. 对于课程、教师与参考书这三个实体集,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是 ______ 联系。

二、计算题(本大题共5分,共 1 小题,每小题 5 分)将R=(ABCD,{A→B,B→C,B→D,C→A})分解为关于U1=AB,U2=ACD两个关系,求R1,R2 。

三、简答题(本大题共20分,共 4 小题,每小题 5 分)1. 简述在对象浏览器中如何使用模板创建表。

2. 简述面向对象数据库系统的优缺点。

3. 简述什么是系统故障及故障-停止假设?4. 简述什么是外连接及其分类。

四、分析题(本大题共15分,共 3 小题,每小题 5 分)1. 查询所有出版社的名称,如果它所在的州有书店,则一起显示书店的名称。

sql查询练习题含答案

sql查询练习题含答案

--(1)查询20号部门的所有员工信息。

select * from emp e where e.deptno=20;--(2)查询奖金(COMM)高于工资(SAL)的员工信息。

select * from emp where comm>sal;--(3)查询奖金高于工资的20%的员工信息。

select * from emp where comm>sal*0.2;--(4)查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。

select * from emp ewhere (e.deptno=10 and e.job='MANAGER')or (e.deptno=20 and e.job='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 (e.sal+nvl(m,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)显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,--若月份相同则按入职的年份排序。

SQL查询练习题

SQL查询练习题
或 SELECT S#,SNAME FROM S WHERE S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE CNMAE=‘MATHS’))
设教学数据库中有三个关系: 学生关系 S (S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 (4)C查(C询#,选CN修A课M程E,号TE为ACC2H或ERC)4的学生学号。 SELECT S# FROM SC WHERE C#=‘C2’ OR C#=‘C4’
SQL查询练习题
It is applicable to work report, lecture and teaching
设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER) 下面用SQL语句实现下面每个查询: (1)查询学习课程号为C2的学生学号与成绩。
设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER)
(17)求年龄大于所有女同学年龄的男学生和年龄。 SELECT SNAME,AGE FROM S WHERE SEX=‘男’ AND AGE>ALL(SELECT AGE FROM S WHERE SEX=‘女’)
设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER)
(13)在SC表中检索成绩为空值的学生学号和课程号。 SELECT S#,C# FROM SC WHERE GRADE IS NULL

SQL数据库查询练习题及答案(四十五道题)

SQL数据库查询练习题及答案(四十五道题)

SQL数据库查询练习题及答案(四⼗五道题)题⽬:设有⼀数据库,包括四个表:学⽣表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。

四个表的结构分别如表1-1的表(⼀)~表(四)所⽰,数据如表1-2的表(⼀)~表(四)所⽰。

⽤SQL语句创建四个表并完成相关题⽬。

表1-1数据库的表结构表(⼀)Student (学⽣表)属性名数据类型可否为空含义Sno varchar (20)否学号(主码)Sname varchar (20)否学⽣姓名Ssex varchar (20)否学⽣性别Sbirthday datetime可学⽣出⽣年⽉Class varchar (20)可学⽣所在班级表(⼆)Course(课程表)属性名数据类型可否为空含义Cno varchar (20)否课程号(主码)Cname varchar (20)否课程名称Tno varchar (20)否教⼯编号(外码)表(三)Score(成绩表)属性名数据类型可否为空含义Sno varchar (20)否学号(外码)Cno varchar (20)否课程号(外码)Degree Decimal(4,1)可成绩主码:表(四)Teacher(教师表)属性名数据类型可否为空含义Tno varchar (20)否教⼯编号(主码)Tname varchar (20)否教⼯姓名Tsex varchar (20)否教⼯性别Tbirthday datetime可教⼯出⽣年⽉Tbirthday datetime可教⼯出⽣年⽉Prof varchar (20)可职称Depart varchar (20)否教⼯所在部门表1-2数据库中的数据表(⼀)StudentSno Sname Ssex Sbirthday class 108曾华男1977-09-0195033 105匡明男1975-10-0295031 107王丽⼥1976-01-2395033 101李军男1976-02-2095033 109王芳⼥1975-02-1095031 103陆君男1974-06-0395031表(⼆)CourseCno Cname Tno3-105计算机导论8253-245操作系统8046-166数字电路8569-888⾼等数学831表(三)ScoreSno Cno Degree1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911073-105911083-105781016-166851076-166791086-16681表(四)TeacherTno Tname Tsex Tbirthday Prof Depart 804李诚男1958-12-02副教授计算机系856张旭男1969-03-12讲师电⼦⼯程系825王萍⼥1972-05-05助教计算机系831刘冰⼥1977-08-14助教电⼦⼯程系查询问题:1、查询Student表中的所有记录的Sname、Ssex和Class列。

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

单表查询:1、查询<学生信息表>,查询学生"张三"的全部基本信息2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息3、查询<学生信息表>,查询姓"张"学生的基本信息4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。

6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。

7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息Select *10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序聚合查询1、统计<学生信息表>,统计共有多少个学生2、统计<学生信息表>,统计年龄大于20岁的学生有多少个3、统计<学生信息表>,统计入学时间在1980年至1982年的学生人数4、统计<学生选修信息表>,统计学号为"S001"的学生的平均成绩5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩7、统计<学生信息表>,查询所有学生中的最大年龄是多少分组查询练习1、统计<学生选修信息表>,统计每个课程的选修人数2、统计<学生选修信息表>,统计每个同学的总成绩3、统计<学生信息表>,统计每个班级中每种性别的学生人数,并按照班级排序4、统计<学生选修信息表>,统计每门课程的平均成绩,并按照成绩降序排序5、统计<学生选修信息表>,显示有两门以上课程不及格的学生的学号6、统计<学生信息表>,统计每个班级中的最大年龄是多少嵌套查询练习1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩2、用子查询实现,统计<学生选修信息表>,显示学号为"S001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩3、用子查询实现,查询2班选修"数据库技术"课的所有学生的成绩之和4、用子查询实现,查询3班"张三"同学的"测试管理"成绩一、单表查询练习1、查询<学生信息表>,查询学生"张三"的全部基本信息Select *from A_studentinfowhere sname='张三'2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息Select *from A_studentinfowhere sname='张三'or sname='李四'3、查询<学生信息表>,查询姓"张"学生的基本信息Select *from A_studentinfowhere sname like '张%'4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息Select *from A_studentinfowhere sname like '%四%'5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。

select *where sname like '李_强'6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。

Select *from A_studentinfowhere sname like '张%'or sname like '李%'7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息Select *from A_studentinfowhere sname like '张%'and province='北京'8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息Select *from A_studentinfowhere province in ('北京','上海','新疆','山东')9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息Select *from A_studentinfowhere sname like '张%'and province !='北京'10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序select *from A_studentinfoorder by sex,province,class11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份select distinct province as 省份12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩Select *from A_studentcoursewhere score is null13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序Select *from A_studentcoursewhere score is not nullorder by score desc二、聚合查询1、统计<学生信息表>,统计共有多少个学生Select count (*) as 学生数量from A_studentinfo2、统计<学生信息表>,统计年龄大于20岁的学生有多少个Select count(*) as 学生数量from A_studentinfowhere (2008-yearofbirth)>203、统计<学生信息表>,统计入学时间在1980年至1982年的学生人数select count(*) as 学生数量from A_studentinfowhere enrollment between '1998-01-01' and '2003-12-30'对比以下查询方式,看看有何不同,为什么?select count(*) as 学生数量where enrollment between '1998' and '2003'4、统计<学生选修信息表>,统计学号为"S001"的学生的平均成绩Select avg(score) as 平均成绩from A_studentcoursewhere sno='S001'5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩select sum(score) as 总成绩from A_studentcoursewhere sno ='S001'6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩select max(score) as 最高成绩from A_studentcoursewhere cno='C001'7、统计<学生信息表>,查询所有学生中的最大年龄是多少select 2008-min(yearofbirth) as 最大年龄from A_studentinfo三、分组查询练习1、统计<学生选修信息表>,统计每个课程的选修人数select cno,count(*) as 学生数量from A_studentcoursegroup by cno2、统计<学生选修信息表>,统计每个同学的总成绩select sno,sum(score) as 总成绩from A_studentcoursegroup by sno3、统计<学生信息表>,统计每个班级中每种性别的学生人数,并按照班级排序select class as 班级,sex as 性别, count(*) as 人数from A_studentinfogroup by class,sexorder by class4、统计<学生选修信息表>,统计每门课程的平均成绩,并按照成绩降序排序Select cno,avg(score) as 平均成绩from A_studentcoursegroup by cnoorder by avg(score) desc5、统计<学生选修信息表>,显示有两门以上课程不及格的学生的学号Select sno as 不及格学生学号from A_studentcoursewhere score<60group by snohaving count(*)>16、统计<学生信息表>,统计每个班级中的最大年龄是多少select class as 班级, 2008-min(yearofbirth) as 最大年龄from A_studentinfogroup by class四、嵌套查询练习1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩select sum(考试成绩) as 高等数学总成绩from 选课where 课号=(select 课号from 课程where 名称='高等数学')2、用子查询实现,统计<学生选修信息表>,显示学号为"S001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩select 课号,成绩from 选课where 学号='S001'and 考试成绩=(select max(考试成绩)from 选课where学号='S001')3、用子查询实现,查询2班选修"数据库技术"课的所有学生的成绩之和select sum(score) as 数据库技术总成绩from A_studentcoursewhere cno =(select cnofrom A_courseinfowhere subject='数据库技术')and sno in(select snofrom A_studentinfowhere class='2')4、用子查询实现,查询3班"张三"同学的"测试管理"成绩select scorefrom A_studentcoursewhere cno=(select cnofrom A_courseinfowhere subject='测试管理')and sno in(select snofrom A_studentinfowhere class='3'and sname='张三')。

相关文档
最新文档