SQL综合练习题
- 格式:pdf
- 大小:482.10 KB
- 文档页数:39
SQL专项练习题SQL专项练习题一、选择题:1、SQL语言的核心是_____。
A)数据查询B)数据定义C)数据操纵D)数据控制2、下列关于SQL语言特点的叙述错误的是_________。
A)SQL是一种一体化的语言B)SQL是一种高度过程化的语言C)SQL语言非常简洁D)SQL语言可以直接以命令方式交互使用,也可嵌入到程序中使用3、在SQL查询中,HAVING子句的作用是______。
A)指出分组查询的范围B)指出分组查询的值C)指出分组查询的条件人D)指出分组查询的字段4、在SQL中,与集合成员算术比较操作“元组<>ALL”的等价操作符是______。
A)NOT IN B)IN C)<>SOME D)=SOME5、下列利用空值查询的命令中,正确的一项是______。
A)IS NULL B)=NULL C)NULL D)SELECT NULL6、可以将两个SELECT语句的查询结果通过并运算合并成一个查询结果,需要子句_____。
A)WHERE B)UNION C)ORDER BY D)IN7、SQL的查询结果可以存放到多种类型的文件中,下列不能用来存放查询结果的是_________。
A)临时表B)永久性表C)视图D)文本文件8、下列不属于SQL数据操作功能的是_______。
A)新建表B)添加记录C)修改记录D)删除记录9、下列关于INSERT-SQL的叙述正确的是______。
A)在表末尾增加一条记录B)在表头增加一条记录C)在表中任意位置插入一条记录D)在表中可插入若干条记录10、若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是_____。
A)SELECT COUNT(DISTINCT 学生号)FROM 选课B)SELECT COUNT(学生号)FROM 选课C)SELECT COUNT(*)FROM 选课D)SELECT COUNT (DISTINCT *)FROM 选课11、“学生表”的结构为(学生号N(4),姓名C(8),性别C(2),年龄N(2)),其中学号为主索引,下面可使用SQL_INSERT插入到表中的记录是_______。
SQL练习题及答案1(合集五篇)第一篇:SQL练习题及答案1SQL练习题:商品销售数据库商品销售数据库Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)Customer(顾客号char(4),顾客名 char(8),性别 char(2),年龄 int)OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期date)1.用SQL建立三个表,须指出该表的实体完整性和参照完整性,对性别和年龄指出用户自定义的约束条件。
(性别分成男女,年龄从10到100)。
顾客表的数据用插入语句输入数据,其它两表可用任意方式输入数据。
create table OrderItem(顾客号char(4),商品号char(4),日期datetime,数量 smallint,primary key(顾客号,商品号,日期),foreign key(商品号)references Article(商品号), foreign key(顾客号)references Custommer(顾客号));2.检索定购商品号为…0001‟的顾客号和顾客名。
select distinct 顾客号,顾客名from OrderItem where 商品号='0001'3.检索定购商品号为…0001‟或…0002‟的顾客号。
select distinct 顾客号 from OrderItem where 商品号='0001' or 商品号='0002';4.检索至少定购商品号为…0001‟和…0002‟的顾客号。
select 顾客号 from OrderItem where 商品号='0001' and 顾客号 in(select 顾客号 from OrderItem where 商品号='0002');5.检索至少定购商品号为…0001‟和…0002‟的顾客号。
五、SQL语言及查询视图(一)选择题1. 在命令窗口执行SQL命令时,若命令要占用多行,续行符是______。
A)冒号(:) B)分号(;) C)逗号(,) D)连字符(-)2. 只有满足联接条件的记录才包含在查询结果中,这种联接为______。
A)左联接B)右联接C)内部联接D)完全联接3. SQL语言是______语言。
A)层次数据库B)网络数据库C)关系数据库D)非数据库4. SELECT-SQL语句是______。
A)选择工作区语句B)数据查询语句C)选择标准语句D)据修改语句5.SQL语言是具有______的功能。
A) 关系规范化、数据操纵、数据控制B)数据定义、数据操纵、数据控制C)数据定义、关系规范化、数据控制D)数据定义、关系规范化、数据操纵6.在SQL的计算查询中,用于求平均值的函数是______。
A)A VG B)A VERAGE C)SUM D)A VER7.SQL语句中查询条件短语的关键字是______。
A) WHERE B)FOR C) WHILE D)CONDITION8.SQL的核心是______。
A)数据查询B)数据修改C)数据定义D)数据控制9.SQL中可使用的通配符有______。
A)*(星号)B)%(百分号)C)_(下划线)D)B和C10.在SQL查询时,使用WHERE子句指出的是_____。
A)查询目标B)查询结果C)查询条件D)查询视图11.SQL实现分组查询的短语是______。
A)ORDER BY B)GROUP BY C)HA VING D)ASC12.将查询结果放在数组中应使用______短语。
A)INTO CURSOR B)TO ARRAY C)INTO TABLE D)INTO ARRAY13.SQL是哪几个英文单词的缩写?A)Standard Query Language B)Structured Query LanguageC)Select Query Language D)以上都不是14.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
最全的SQL练习题(做完你就是⾼⼿)最全的SQL练习题(做完你就是⾼⼿)补充作业⼀设有三个关系:S(SNO, SNAME, AGE, SEX,Sdept)SC(SNO, CNO, GRADE)C(CNO, CNAME, TEACHER)试⽤关系代数表达式表⽰下列查询:-- 1、查询学号为S3学⽣所学课程的课程名与任课教师名。
SELECT c.`name`, c.teacher FROM student_class sc LEFT JOIN `class` c ON o = c.NO WHERE sc.sno = 's3';-- 2、查询⾄少选修LIU⽼师所教课程中⼀门课的⼥⽣姓名。
select s.sname from student as s where s.sno in(select DISTINCT sc.sno from student_class as sc left join class as c on o=o where c.teacher='LIU')and s.sex=2;-- 3、查询WANG同学不学的课程的课程号。
select o from class as c where o not in(select DISTINCT o from student as s inner join student_class as sc on s.sno=sc.sno where s.sname='WANG');-- 4、查询⾄少选修两门课程的学⽣学号。
select sno, count(*) as cou from student_class group by sno having cou>=2;-- 5、查询选修课程中包含LIU⽼师所教全部课程的学⽣学号。
select sc.sno from student_class as sc INNER JOIN class as c on o=o where c.teacher='LIU';补充作业⼆三个关系同上,试⽤SQL语⾔表⽰下列查询:1、查询门门课程都及格的学⽣的学号⽅法1:提⽰:根据学号分组,就得到每个学⽣所有的课程成绩,在某个学⽣这⼀组成绩⾥,如果他所有的课程成绩都⼤于60分则输出该组学⽣的学号Select sno frome sc group by sno having min(grade)>=60;2、查询既有课程⼤于90分⼜有课程不及格的学⽣的学号⾃⾝连接:Select sno from sc where grade >90 and sno in (select sno from sc where grade<60)3、查询平均分不及格的课程号和平均成绩Select cno , avg(GRADE) from sc group by cno having avg(grade)<60查询平均分及格的课程号和课程名Select o , Cname from SC,C where o=o group by o having avg(grade)>=604、找出⾄少选修了2号学⽣选修过的全部课程的学⽣提⽰:不存在这样的课程y,学⽣2选修了y,⽽学⽣x没有选。
SQL练习题SQL综合练习题一一、单项选择题1.下列说法正确的是()。
A)SQL语言不能直接以命令方式交互使用,而只能嵌入到程序设计语言中以程序方式使用B)SQL语言只能直接以命令方式交互使用,而不能嵌入到程序设计语言中以程序方式使用C)SQL语言不可以直接以命令方式交互使用,也不可以嵌入到程序设计语言中以程序方式使用,是在一种特殊的环境下使用的语言D)SQL语言既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用2.SQL语言具有()的功能。
A)关系规范化,数据操纵,数据控制B)数据定义,数据操纵,数据控制C)数据定义,关系规范化,数据控制D)关系规范化,数据操纵,数据查询3.SQL语言中使用最多的功能是()。
A)数据查询B)数据修改C)数据定义D)数据控制4.SQL语句中,Select命令的分组操作配套使用的条件短语应使用()引导。
A)Where B)like C)Having D)In5.Sql语句中删除表中记录的语句是()。
A)Drop B)Erase C)Cancle D)Delete6.用SQL语句建立表时为属性定义主索引,应在SQL语句中使用短语()。
A)Default B)Primary Key C)Check D)Unique7.SQL语句的where短语中可以使用通配符是()。
.A)*B)?C)%D)—8.SQL语句中条件短语的关键字是()。
A)Where B)For C)While D)as9.SQL中可以使用的通配符有()。
A)*B)%C)_D)B项和c项10.SQL的数据操纵语句不包括()。
A)Insert B)Delete C)Update D)Change11.字符串匹配运算符是()。
A)Like B)And C)In D)=12.将查询结果放在数组中应使用()短语。
A)Into Cursor B)To Array C)Into Table D)Into Array13.SQL实现分组查询的短语是()。
sqlserver综合练习题SQL Server综合练习题题目1: 管理数据库在SQL Server中,管理数据库是非常重要的任务。
请根据以下场景,回答相应的问题。
场景背景:某公司使用SQL Server作为其主要数据库管理系统,负责存储和管理大量的业务数据。
作为数据库管理员,您需要对数据库进行适当的管理和维护。
问题1:如何创建一个新数据库?要创建一个新的数据库,可以使用以下SQL语句:```sqlCREATE DATABASE [数据库名称];```问题2:如何备份和恢复数据库?为了备份数据库,可以使用以下方法之一:- 使用SQL Server Management Studio (SSMS):在对象资源管理器中,右键单击相应的数据库,选择“任务” > “备份”。
- 使用Transact-SQL:使用`BACKUP DATABASE`语句执行备份。
为了恢复数据库,可以使用以下方法之一:- 使用SSMS:在对象资源管理器中,右键单击“数据库”文件夹,选择“还原数据库”。
- 使用Transact-SQL:使用`RESTORE DATABASE`语句执行恢复。
问题3:如何监视数据库的性能和活动?要监视数据库的性能和活动,可以使用以下方法之一:- 使用SSMS:连接到相应的数据库服务器,在“对象资源管理器”中选择相应的数据库,右键单击选择“报表” > “标准报表” > “活动监视器”。
- 使用Transact-SQL:可以查询系统视图(如`sys.dm_exec_query_stats`)来获取性能统计信息。
场景背景:某公司的数据库中存在有关员工和部门的表。
现在,需要针对这些表执行一些常见的查询操作。
问题4:如何创建一个包含所有员工信息的视图?要创建一个包含所有员工信息的视图,可以使用以下SQL语句:```sqlCREATE VIEW [所有员工信息] ASSELECT * FROM [员工表];```问题5:如何查询工资最高的员工?要查询工资最高的员工,可以使用以下SQL语句:```sqlSELECT * FROM [员工表] WHERE [工资] = (SELECT MAX([工资]) FROM [员工表]);```问题6:如何计算每个部门的员工人数?要计算每个部门的员工人数,可以使用以下SQL语句:```sqlSELECT [部门], COUNT(*) AS [人数] FROM [员工表] GROUP BY [部门];```题目2: 数据库设计良好的数据库设计是一个高效、稳定和可扩展的数据库系统的关键。
SQL综合练习第一题:数据表名称:“设备记录”编号016-1016-2037-2038-1100-1101-1210-1名称车床车床磨床钻床微机复印机轿车启用时间1990-3-51992-1-151990-7-211989-10-121997-8-121992-6-11995-5-8价格2000027132.73241292.15275881010305.01151000所属部门21212223121211主要设备truetruetruefalsetruefalsefalse1、对设备记录表按所属部门降序,所属部门相当时,按价格升序显示主要设备;2.显示1990年开始的所有设备记录的编号、名称和价格;3、显示所有在编号字段中包含“1”的记录;4.显示记录中最高价格低于1000的设备的价格;5、根据主要设备字段,统计主要设备的平均价格;6.按部门字段分别统计各部门设备总价大于30000的记录;7、插入如下记录一条;编号083-1名称卡车启用时间2021-3-15价格所属部门23主要设备true8.将部门为21的记录更改为32;9、将启用日期在1995年7月之前的记录删除;一第二题:“学生”数据表,写出实现以下要求的sql语句。
学号:951210195121029512100395121049512105951210695121079512108姓名:李勇、刘晨、王敏、张立武斌、张美倩、小平、王大利,男、女、男,年龄:19202221202219一、一、二、二、三、三十一班,学生记录显示一班;2、显示班级为计3的男学生记录;3.显示所有18至20岁学生的姓名和年龄信息;4、显示姓张的学生记录;5.显示女生人数;6、显示男女学生的人数;7.按年龄降序显示所有学生记录;8、在学生数据表中插入如下记录;学号9552101姓名林应杰性别男年龄20班级计59.将学生资料表中学生编号9552101的学生的年龄信息更改为20岁;10、删除姓名为王大力的学生记录;二第三题:“图书”数据表,写出实现以下要求的sql语句。
SQL综合练习(填空操作)第一篇:SQL综合练习(填空操作)一,选择题1,下面关于SQL语言的叙述中,哪一条是错误的().A.SQL既可作为联机交互环境中的查询语言又可嵌入到主语言中B.SQL没有数据控制功能C.使用SQL用户只能定义索引而不能引用索引D.使用SQL用户可以定义和检索视图2,SQL语言是()A.高级语言B.编程语言C.结构化查询语言D.宿主语言3,在学生数据库中,用SQL语句列出的所有女生的姓名,应该对学生关系进行()操作.A.选择 B.连接 C.投影 D.选择和投影4,NULL是指()A.0B.空格C.无任何值D.空字符串5,下列哪条语句不属于SQL数据操纵功能范围()A.SELECTB.CREAT TABLEC.DELETED.INSERT6,用()命令可建立唯一索引A.CREATE TABLEB.CREATE CLUSTERC.CREATE INDEXD.CREATE UNIQUE INDEX二,填空题1,SQL语言的使用方式有两种,一种是 ,另一种是2,在SQL查询中,WHERE子句的功能是.3,视图是一个虚表,它是从的表.4,SQL语言的数据操纵功能包括 , , ,和,5,在SQL支持的关系数据库三级模式结构中,外模式对应于,模式对应于,内模式对应于.6,在SELECT语句中,HAVING子句必须跟在子句后面.三,问题及操作题1,名词解释SQL模式 SQL数据库基本表视图相关子查询联接查询嵌入式SQL 游标2,对于教学数据库的三个基本表学生 S(S#,SNAME,AGE,SEX)学习SC(S#,C#,GRADE)课程 C(C#,CNAME,TEACHER)试用SQL的查询语句表达下列查询:(1)检索LIU老师所授课程的课程号和课程名.(2)检索年龄大于23岁的男学生的学号和姓名.(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名.(4)检索WANG同学不学的课程的课程号.(5)检索至少选修两门课程的学生学号.(6)检索全部学生都选修的课程的课程号与课程名.(7)检索选修课程包含LIU老师所授课的学生学号.3, 设有两个基本表R(A,B,C)和S(A,B,C)试用SQL查询语句表达下列关系代数表达式:(1)R∪S(2)R∩S(3)R-S(4)πA,B(R)πB,C(S)4, 试用SQL查询语句表达下列对教学数据库中三个基本表S,SC,C 的查询:(1)统计有学生选修的课程门数.(2)求选修C4课程的学生的平均年龄.(3)求LIU老师所授课程的每门课程的学生平均成绩.(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列.(5)检索学号比WANG同学大,而年龄比他小的学生姓名.(6)检索姓名以WANG 打头的所有学生的姓名和年龄.(7)在SC中检索成绩为空值的学生学号和课程号.(8)求年龄大于女同学平均年龄的男学生姓名和年龄.5, 试用SQL更新语句表达对教学数据库中三个基本表S,SC,C的各个更新操作:(1)往基本表S中插入一个学生元组('S9','WU',18).(2)在基本表S 中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别, 并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX).(3)在基本表SC中删除尚无成绩的选课元组.(4)把WANG同学的学习选课和成绩全部删去(5)把选修MATHS课不及格的成绩全改为空值.(6)把低于总平均成绩的女同学成绩提高5%.(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%, 若成绩大于75分时提高4%(用两个UPDATE语句实现).6, 在宿主语言的程序中使用SQL语句有哪些规定7,嵌入式SQL语句何时不必涉及到游标何时必须涉及到游标答案:一,1,B 2,C 3,D 4,C 5,B 6,D二,1,嵌入式交互式 2,选择3,基本表导出的表 4,数据查询数据更新数据插入数据删除5,视图或部分基本表基本表存储文件6,GROUP BY三,1,名词解释SQL模式:SQL模式是表和授权的静态定义.一个SQL模式定义为基本表的集合.一个由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表,视图,索引等)的定义.SQL数据库:SQL(Structured Query Language),即'结构式查询语言',采用英语单词表示和结构式的语法规则.一个SQL数据库是表的汇集,它用一个或多个SQL模式定义.基本表:在SQL中,把传统的关系模型中的关系模式称为基本表(Base T able).基本表是实际存储在数据库中的表,对应一个关系.视图:在SQL中,把传统的关系模型中的子模式称为视图(View),视图是从若干基本表和(或)其他视图构造出来的表.相关子查询:在嵌套查询中出现的符合以下特征的子查询:子查询中查询条件依赖于外层查询中的某个值, 所以子查询的处理不只一次,要反复求值,以供外层查询使用.联接查询:查询时先对表进行笛卡尔积操作,然后再做等值联接,选择,投影等操作.联接查询的效率比嵌套查询低.嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言称为嵌入式SQL.游标:游标是与某一查询结果相联系的符号名,用于把集合操作转换成单记录处理方式.2,(1)检索LIU老师所授课程的课程号和课程名.SELECT C#,CNAME FROM CWHERE TEACHER='LIU'(2)检索年龄大于23岁的男学生的学号和姓名.SELECT S#,SNAMEFROM SWHERE(AGE>23)AND(SEX='M')(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名.SELECT SNAMEFROM SWHERE SEX='F' AND S# IN(SELECT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU')NOTICE:有多种写法,比如联接查询写法:SELECT SNAMEFROM S,SC,CWHERE SEX='F' AND SC.S#=S.S#AND SC.C#=C.C#AND TEACHER='LIU'但上一种写法更好一些.(4)检索WANG同学不学的课程的课程号.SELECT C#FROM CWHERE C# NOT IN(SELECT C#FROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG'))(5)检索至少选修两门课程的学生学号.SELECT DISTINCT X.SNOFROM SC X,SC YWHERE X.SNO=Y.SNO AND ONotice:对表SC进行自连接,X,Y是SC的两个别名.(6)检索全部学生都选修的课程的课程号与课程名.SELECT C#,CNAMEFROM CWHERE NOT EXISTS(SELECT *FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#))要从语义上分解:(1)选择课程的课程号与课程名,不存在不选这门课的同学.其中,“不选这门课的同学”可以表示为:SELECT *FROM SWHERE S# NOT IN(SELECT *FROM SCWHERE SC.C#=C.C#)或者SELECT *FROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE S.S#=C.S# ANDSC.C#=C.C#)(7)检索选修课程包含LIU老师所授课的学生学号.SELECT DISTINCT S#FROM SCWHERE C# IN(SELECT C#FROM CWHERE TEACHER='LIU'))3,(1)SELECT A,B,CFROM RUNIONSELECT A,B,CFROM S(2)SELECT A,B,CFROM RINTERSECTSELECT A,B,CFROM S(3)SELECT A,B,CFROM RWHERE NOT EXISTS(SELECT A,B,CFROM SWHERE R.A=S.A AND R.B=S.B AND R.C=S.C)(4)SELECT R.A,R.B,S.CFROM R,SWHERE R.B=S.B4,(1)统计有学生选修的课程门数.SELECT COUNT(DISTINCT C#)FROM SC(2)求选修C4课程的学生的平均年龄.SELECT AVG(AGE)FROM SWHERE S# IN(SELECT S#FROM SCWHERE C#='C4')或者,SELECT AVG(AGE)FROM S,SCWHERE S.S#=SC.S# AND C#='004'(3)求LIU老师所授课程的每门课程的学生平均成绩.SELECT CNAME,AVG(GRADE)FROM SC ,CWHERE SC.C#=C.C# AND TEACHER='LIU'GROUP BY C#(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数, 查询结果按人数降序排列,若人数相同,按课程号升序排列.SELECT DISTINCT C#,COUNT(S#)FROM SCGROUP BY C#HAVING COUNT(S#)>10ORDER BY 2 DESC, C# ASC(5)检索学号比WANG同学大,而年龄比他小的学生姓名.SELECT X.SNAMEFROM S AS X, S AS YWHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE(SELECT AVG(AGE)FROM S AS Y WHERE Y.SEX='女') 5,(1)往基本表S中插入一个学生元组('S9','WU',18).INSERT INTO S(S#,SNAME,AGE)VALUES('59','WU',18)(2)在基本表S中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别, 并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX).INSERT INTO STUDENT(S#,SNAME,SEX)SELECT S#,SNAME,SEXFROM S WHERE NOT EXISTS(SELECT * FROM SC WHEREGRADE<80 AND S.S#=SC.S#)(3)在基本表SC中删除尚无成绩的选课元组.DELETE FROM SCWHERE GRADE IS NULL(4)把WANG同学的学习选课和成绩全部删去.DELETE FROM SCWHERE S# IN(SELECT S#FROM SWHERE SNAME='WANG')(5)把选修MATHS课不及格的成绩全改为空值.UPDATE SCSET GRADE=NULLWHERE GRADE<60 AND C# IN(SELECT C#FROM CWHERE CNAME='MATHS')6)把低于总平均成绩的女同学成绩提高5%.UPDATE SCSET GRADE=GRADE*1.05WHERE GRADE(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%, 若成绩大于75分时提高4%(用两个UPDATE语句实现).UPDATE SCSET GRADE=GRADE*1.05WHERE C#='C4' AND GRADE756, 在宿主语言的程序中使用SLQ语句有以下规定:(1)在程序中要区分SQL语句与宿主语言语句(2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量),但有两条规定:1)引用时,这些变量前必须加“:”作为前缀标识,以示与数据库中变量有区别.2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明.(3)SQL的集合处理方式与宿主语言单记录处理方式之间要协调.需要采用游标机制,把集合操作转换成单记录处理方式.7,(1)INSERT,DELETE,UPDATE语句,查询结果肯定是单元组时的SELECT语句, 都可直接嵌入在主程序中使用,不必涉及到游标.(2)当SELECT语句查询结果是多个元组时,此时宿主语言程序无法使用, 一定要用游标机制把多个元组一次一个地传送给宿主语言处理.第二篇:SQL语句练习1.用SQL语句在“商学院教学管理”数据库中建立学生表、课程表、成绩表、教师表、授课表、班级表。
SQL练习题一.选择题:1 检索职工表中工资大于800元的职工号,正确的命令是() A、SELECT 职工号 WHERE 工资>800 B、SELECT 职工号 FROM 职工 SET 工资>800 C、SELECT 职工号 FROM 职工 WHERE 工资>800 D、SELECT 职工号 FROM 职工 FOR 工资>8002 找出在仓库面积大于500的仓库中工作的职工号,以及这些职工工作所在的城市,正确的命令是() A、SELECT 职工号,城市 FROM 职工;WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) B、SELECT 职工号,城市 FROM 职工;WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号) C、SELECT 职工号,城市 FROM 仓库,职工;WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) D、SELECT 职工号,城市 FROM 仓库,职工;WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号)3 利用SQL语句,检索仓库中至少有一名职工的仓库信息,正确的命令是() A、SELECT * FROM 仓库表 WHERE IN;(SELECT 仓库号 FROM 职工表) B、 SELECT * FROM 仓库表 WHERE NOT IN;(SELECT 仓库号 FROM 职工表) C、 SELECT * FROM 仓库表 WHERE 仓库号EXISTS;(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号) D、 SELECT * FROM 仓库表 WHERE EXISTS;(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号)4 从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是() A、 SELECT 单价>100000 FROM 设备表 FOR 设备名称 B、 SELECT 设备名称FROM 设备表 FOR单价>100000 C、SELECT 单价>100000 FROM 设备表 WHERE 设备名称 D、SELECT 设备名称 FROM 设备表 WHERE 单价>1000005 为设备表增加一个“设备总金额N(10,2)”字段,正确的命令是() A、ALTER TABLE 设备表 ADD FIELDS 设备总金额N(10,2) B、ALTER TABLE 设备表 ADD 设备总金额N(10,2) C、ALTER TABLE 设备表 ALTER FIELDS 设备总金额N(10,2) D、ALTER TABLE 设备表 ALTER 设备总金额N(10,2)6 利用SQL数据更新功能,自动计算更新每个“设备总金额”字段的字段值,该字段值等于“单价*设备数量”的值,正确命令为() A、 UPDATE 设备表 SET 设备总金额=单价*设备数量 B、UPDATE 设备表 FOR 设备总金额=单价*设备数量C、 UPDATE 设备表 WITH 设备总金额=单价*设备数量 D、UPDATE 设备表 WHERE 设备总金额=单价*设备数量7 有如下SQL语句:SELECT 使用部门,SUM(单价*设备数量)AS 总金额 FROM 设备表;WHERE .NOT.(进口);GROUP BY 使用部门执行该语句后,第一条记录的“总金额”字段值是() A、196000 B、143000 C、294000 D、172008 SQL的查询结果可以存放到多种类型的文件中,下列都可以用来存放查询结果的文件类型是( ) A、临时表、视图、文本文件 B、数组、永久性表、视图 C、永久性表、数组、文本文件 D、视图、永久性表、文本文件9 语句“DELETE FROM 成绩表 WHERE 计算机<60”的功能是() A、物理删除成绩表中计算机成绩在60分以下的学生记录 B、物理删除成绩表中计算机成绩在60分以上的学生记录 C、逻辑删除成绩表中计算机成绩在60分以下的学生记录D、将计算机成绩低于60分的字段值删除,但保留记录中其它字段值10 关于SQL的超联接查询,说法错误的是() A、在SQL中可以进行内部联接、左联接、右联接和全联接 B、SQL的超联接运算符“*=”代表左联接,“=*”代表右联接 C、Visual FoxPro同样支持超联接运算符“*=”和“=*” D、利用全联接,即使两个表中的记录不满足联接条件,也会在目标表或查询结果中出现,只是不满足条件的记录对应部分为NULL11 在SQL语句中,表达式“工资BETWEEN 1220 AND 1250”的含义是() A、工资>1220.AND.工资<1250 B、工资>1220.OR.工资<1250 C、工资>=1220.AND.工资<=1250 D、工资>=1220.OR.工资<=125012 SQL语句中修改表结构的命令是() A、ALTER TABLE B、MODIFY TABLE C、ALTER STRUCTURE D、MODIFY STRUCTURE13 删除表的SQL命令是() A、DROP TABLE B、DELETE TABLE C、ERASE TABLED、KILL TABLE14 在SQL语句中用于分组的短语是() A、MODIFY B、ORDER BY C、GROUP BY D、SUM15 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、REPLACE 职工 SET 工资=工资+100 B、UPDATE 职工 SET 工资=工资+100 C、EDIT 职工 SET 工资=工资+100 D、CHANGE 职工 SET 工资=工资+10016 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、UPDATE 职工 SET 工资 WITH 工资+100 B、UPDATE 工资=工资+100 FOR 职工 C、UPDATE 工资 WITH 工资+100 FOR 职工 D、UPDATE 职工 SET 工资=工资+10017 SQL语言的核心是() A、数据查询 B、数据定义 C、数据操纵 D、数据控制18 SQL除了数据查询的功能,还有() A、数据定义 B、数据操纵 C、数据控制 D、以上答案均正确19 下列关于SQL语言特点叙述错误的是() A、SQL是一种一体化的语言 B、SQL是一种高度过程化的语言 C、SQL语言非常简洁 D、SQL语言可以直接以命令方式交互使用,也可嵌入到程序中使用20 在Visual FoxPro中,SQL没有提供() A、数据查询功能 B、数据定义功能 C、数据操纵功能 D、数据控制功能21 标准的SQL基本查询语句的结构是() A、SELECT FROM ORDER BY B、SELECT WHERE GROUP BY C、SELECT WHERE HAVING D、SELECT FROM WHERE22 在SQL SELECT中,要将查询结果进行排序,应该使用短语 A、ORDER BY B、GROUP BY C、COUNT D、SUM23 嵌套查询命令中的IN相当于() A、等号(=) B、集合运算符(∈) C、加号(+) D、减号(-)24 在SQL查询中,HAVING字句的作用是() A、指出分组查询的范围 B、指出分组查询的值 C、指出分组查询的条件 D、指出分组查询的字段25 下列利用空值查询的命令是,正确的一项是() A、IS NULL B、=NULL C、NULL D、SELECT NULL26 下列关于别名和自联接的说法中,正确的是() A、SQL语句允许在WHERE 短语中为关系定义别名 B、为关系定义别名的格式为:<别名><关系名> C、在关系的自联接操作中,别名是必不可少的 D、以上说法均正确27 Visual FoxPro的SQL SELECT语句的联接格式能实现联接表的个数为() A、一个表 B、两个表 C、三个表 D、任意多的表28 在显示结果时,只需要显示满足条件的前几个记录,则必须使用短语() A、TOP B、BOTTOM C、PERCENT D、BY29 下列不属于SQL数据操作功能的是() A、新建表 B、添加记录 C、修改记录 D、删除记录30 下列关于INSERT SQL的叙述正确的是() A、在表末尾增加一条记录 B、在表头增加一条记录 C、在表中任意位置插入一条记录 D、在表中可插入若干条记录31 下列关于SQL对表的定义说法错误的是() A、利用CREATE TABLE语句可以定义一个新的数据表结构 B、利用SQL的表定义语句可以定义表中的主索引 C、利用SQL的表定义语句可以定义表的域完整性、字段有效性规则等 D、对于自由表的定义,SQL同样可以实现其完整性、有效性规则等信息的设置32 若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是() A、SELECT COUNT(DISTINCT 学生号) FROM 选课 B、SELECT COUNT (学生号)FROM 选课 C、SELECT COUNT(*)FROM 选课 D、SELECT COUNT(DISTINCT *)FROM 选课33 “学生表”的结构为(学生号N(4),姓名C(8),性别C(2),年龄N (2)),其中学号为主索引,下面可使用SQL INSERT插入到表中的记录是()A、(“1001”,“张力”,“男”,“18”) B、(1001,“张力”,NULL,18) C、(NULL,“张力”,“男”,18) D、(1001,张力,男,18)34 SQL语言是() A、层次数据库语言 B、网状数据库语言 C、关系数据库语言 D、对立的数据库语言35 下列查询类型中,不属于SQL查询的是() A、简单查询 B、嵌套查询 C、联接查询 D、视图查询36 SQL中可使用通配符() A、~ B、* C、? D、第二选项和第三选项37 在SQL的计算查询中,用于计数的函数是() A、SUM B、COUNT C、AVG D、MAX38 下列关于SQL嵌套查询的说法,正确的是() A、既能对外层查询排序,又能对内层查询排序 B、只能对外层查询排序,不能对内层查询排序 C、不能对外层查询排序,只能对内层查询排序 D、既不能对外层查询排序,也不能对内层查询排序39 在SQL命令中设置为全联接的短语是() A、INNER JOIN B、LEFT JOIN C、RIGHT JOIN D、FULL JOIN40 如果要将由表派生出的视图中的字段重新命名,需要使用的短语是() A、AS B、FOR C、WHERE D、TO41 利用SQL的CREATE命令定义一个自由表,可以定义表的() A、字段名、字段类型、字段宽度 B、字段的主索引和域完整性的约束规则 C、定义字段的有效性规则 D、以上内容均可定义42 如果要查询工资表中,基本工资在1000~2000元之间的职工记录,则下列语句正确的是() A、SELECT * FROM 工资表 WHERE 基本工资 NOT BETWEEN 1000AND 2000 B、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000~2000 C、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000 AND 2000 D、SELECT 工资表 FROM * WHERE BETWEEN 1000 AND 200043 假设有学生表和成绩表两个数据表文件,如果要查找总分在350分以上的学生姓名及名次,下列语句中正确的是() A、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).OR.(学生表.学号=成绩表.学号) B、SELECT 姓名,名次 FROM 学生表,成绩表 C、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).AND.(学生表.学号=成绩表.学号) D、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>=350).AND.(学生表.学号=成绩表.学号)44 在SQL语句中,修改表中数据的命令是() A、ALTER B、UPDATE C、DELETED、INSERT45 SQL的数据操作语言不包括() A、INSERT B、UPDATE C、DELETE D、CHANGE46 在SELECT SQL语句中,条件短语的关键字是() A、FROM B、WHERE C、FORD、CONDITION47 如果在SQL SELECT语句的ORDER BY字句中指定了DESC,则表示() A、按升序排序 B、按降序排序 C、按索引字段排序 D、错误语句48 用于显示部分查询结果的TOP短语,必须与下列()短语连用 A、WHERE B、ORDER BY C、FROM D、GROUP BY49 将两个SELECT语句的查询结果合并成一个查询结果的运算符是() A、WHEREB、JOINC、UNIOND、INTO50 在SQL的数据定义功能中,修改表结构的命令有3种,下列说法正确的是()A、3种命令格式都可以用来添加、修改和删除字段名B、3种命令格式都可以用来定义、修改和删除字段有效性规则C、3种命令格式都有各自的功能,不能将所有功能集于一种格式中D、以上说法均不正确二.填空题:1、从职工表中检索所有的工资值,将以下命令补充完整。
sql练习题(1)数据库基础测试题姓名:工号:一、单项选择题,把最合适的选项编号核对在括号内。
(每小题1分后,共10分后)1.在数据库技术中,实体-联系模型是一种()a.概念数据模型b.结构数据模型c.物理数据模型d.逻辑数据模型2.关系数据模型通常由3部分组成,它们是()a.数据结构,数据通信,关系操作b.数据结构,数据操作方式,数据完整性约束c.数据通信,数据操作方式,数据完整性约束d.数据结构,数据通信,数据完整性约束3.sql语言中,删除一个表的命令是()a.deleteb.dropc.cleard.remove4.在sql的查询语句中,orderby选项实现对结果表的()功能a.分组统计数据b.议和c.搜寻d.排序5.sqlserver触发器主要针对下列语句创建()a.select,insert,deleteb.insert,update,deletec.select,update,insertd.insert,update,create6.下列哪个不是sql数据库文件的后缀。
a..mdfb..ldfc..tifd..ndf7.在sql中,建立表用的命令是()。
a.createtableb.createrulec.createviewd.createindex8.sql语言中,条件“年龄between40and50”表示年龄在40至50之间,且()。
a.包含40岁和50岁b.不包含40岁和50岁c.包括40岁但不包括50岁d.包括50岁但不包括40岁9.模式搜寻like'_a%',下面哪个结果就是可能将的a.ailib.baic.bbaa10.若某表中满足用户1nf,且其所有属性再分出来共同组成主健,则一定还满足用户范式()a、只有2nfb、只有3nfc、2nf和3nfd、没有二、填空题,把最合适内容填上在横线上。
(每空1分后,共19分后)1.dbms是指_______________。