SQL复习题(附部分答案)

合集下载

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)1. 在SQL 中,用于创建表的语句是()A. CREATE TABLEB. INSERT INTOC. UPDATED. DELETE答案:A2. 以下哪个关键字用于在SQL 中添加数据()A. ADDB. INSERTC. APPENDD. PUT答案:B3. 在SQL 中,用于从表中检索数据的语句是()A. SELECTB. GETC. FETCHD. REQUEST答案:A4. 以下哪个关键字用于在SQL 中更新数据()A. MODIFYB. CHANGEC. UPDATED. REPLACE答案:C5. 要从表中删除数据,应使用的SQL 语句是()A. DROPB. DELETEC. REMOVED. CLEAR答案:B6. SQL 中用于创建索引的关键字是()A. CREATE INDEXB. MAKE INDEXC. BUILD INDEXD. ESTABLISH INDEX答案:A7. 以下哪种数据类型用于存储整数()A. INTB. FLOATC. VARCHARD. DATE答案:A8. 用于存储字符串的常见数据类型是()A. CHARB. INTC. DECIMALD. DOUBLE答案:A9. 在SQL 中,用于对结果集进行排序的关键字是()A. SORTB. ORDER BYC. ARRANGED. ALIGN答案:B10. 以下哪个运算符用于等于比较()A. =B. ==C. <>D. >答案:A11. 用于不等于比较的运算符是()A.!=B. < >C. NOT EQUALSD. DIFFERENT答案:B12. 以下哪个运算符用于大于比较()A. >B. >=C. <D. <=答案:A13. 用于小于比较的运算符是()A. <B. <=C. >D. >=答案:A14. 以下哪个关键字用于在SQL 中进行分组操作()A. GROUP BYB. SORT BYC. CLASSIFY BYD. CATEGORIZE BY答案:A15. 聚合函数SUM 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:A16. 聚合函数AVG 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最大值答案:B17. COUNT 函数用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:C18. MAX 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:C19. MIN 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:D20. 在SQL 中,用于连接两个表的关键字是()A. JOINB. CONNECTC. LINKD. BIND答案:A21. 内连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:A22. 左连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:B23. 右连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:C24. 全连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:D25. 在SQL 中,用于限制结果集行数的关键字是()A. LIMITB. RESTRICTC. BOUNDD. CONSTRAINT答案:A26. 以下哪个子句用于在SQL 中进行条件筛选()A. WHEREB. HAVINGC. FROMD. GROUP BY答案:A27. HAVING 子句通常与()一起使用A. GROUP BYB. ORDER BYC. WHERED. FROM答案:A28. 在SQL 中,用于创建视图的语句是()A. CREATE VIEWB. MAKE VIEWC. BUILD VIEWD. ESTABLISH VIEW 答案:A29. 以下哪个关键字用于删除视图()A. DROP VIEWB. DELETE VIEWC. REMOVE VIEWD. CLEAR VIEW 答案:A30. 要在SQL 中添加注释,可以使用()A. //B. /* */C. #D. --答案:D31. 在SQL 中,以下哪种数据类型用于存储日期和时间()A. DATEB. TIMEC. DATETIMED. TIMESTAMP答案:C32. 用于提取日期部分的函数是()A. DATEPART()B. DAY()C. MONTH()D. YEAR()答案:A33. 以下哪个函数用于计算字符串的长度()A. LENGTH()B. SIZE()C. COUNT()D. LEN()答案:A34. 在SQL 中,用于将字符串转换为大写的函数是()A. UPPER()B. TO_UPPER()C. CAPITALIZE()D. BIGCASE()答案:A35. 用于将字符串转换为小写的函数是()A. LOWER()B. TO_LOWER()C. SMALLCASE()D. DECAPITALIZE()答案:A36. 以下哪个函数用于去除字符串两端的空格()A. TRIM()B. CLEAN()C. REMOVE_SPACES()D. STRIP()答案:A37. 在SQL 中,用于执行事务的语句是()A. BEGIN TRANSACTIONB. START TRANSACTIONC. OPEN TRANSACTIOND. INITIATE TRANSACTION答案:A38. 提交事务使用的语句是()A. COMMITB. SUBMITC. CONFIRMD. VALIDATE答案:A39. 回滚事务使用的语句是()A. ROLLBACKB. REVERTC. CANCELD. ABORT答案:A40. 以下哪个关键字用于在SQL 中创建存储过程()A. CREATE PROCEDUREB. MAKE PROCEDUREC. BUILD PROCEDURED. ESTABLISH PROCEDURE答案:A41. 调用存储过程使用的语句是()A. EXECUTEB. CALLC. INVOKED. RUN答案:B42. 在SQL 中,用于删除存储过程的语句是()A. DROP PROCEDUREB. DELETE PROCEDUREC. REMOVE PROCEDURED. CLEAR PROCEDURE答案:A43. 以下哪个关键字用于在SQL 中创建触发器()A. CREATE TRIGGERB. MAKE TRIGGERC. BUILD TRIGGERD. ESTABLISH TRIGGER44. 删除触发器使用的语句是()A. DROP TRIGGERB. DELETE TRIGGERC. REMOVE TRIGGERD. CLEAR TRIGGER答案:A45. 在SQL 中,用于授予权限的语句是()A. GRANTB. ALLOWC. PERMITD. AUTHORIZE答案:A46. 收回权限使用的语句是()A. REVOKEB. DENYC. REFUSED. FORBID答案:A47. 以下哪个关键字用于在SQL 中创建索引的唯一性约束()A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:A48. 用于定义主键约束的关键字是()A. PRIMARY KEYB. UNIQUE KEYC. FOREIGN KEYD. INDEX KEY答案:A49. 外键约束使用的关键字是()A. FOREIGN KEYB. OUTER KEYC. RELATED KEYD. REFERENCED KEY答案:A50. 以下哪个约束用于检查数据的有效性()A. CHECKB. VALIDATEC. INSPECTD. VERIFY答案:A51. 在SQL 中,以下哪个语句用于创建数据库()A. CREATE DATABASEB. MAKE DATABASEC. BUILD DATABASED. ESTABLISH DATABASE 答案:A52. 要删除数据库,应使用的语句是()A. DROP DATABASEB. DELETE DATABASEC. REMOVE DATABASED. CLEAR DATABASE 答案:A53. 以下哪个关键字用于在SQL 中切换数据库()A. USEB. SELECT DBC. CHANGE DBD. SWITCH DB答案:A54. 在SQL 中,以下哪种操作可以对多个表同时进行()A. 联合查询B. 子查询C. 交叉连接D. 内连接55. 子查询可以在以下哪个子句中使用()A. SELECTB. FROMC. WHERED. 以上都可以答案:D56. 以下哪个语句用于在SQL 中创建用户()A. CREATE USERB. MAKE USERC. BUILD USERD. ESTABLISH USER答案:A57. 删除用户使用的语句是()A. DROP USERB. DELETE USERC. REMOVE USERD. CLEAR USER答案:A58. 在SQL 中,用于修改表结构的语句是()A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. UPDATE TABLE答案:A59. 以下哪个操作可以添加列到表中()A. ADD COLUMNB. INSERT COLUMNC. APPEND COLUMND. PUT COLUMN答案:A60. 要删除表中的列,应使用()A. DROP COLUMNB. DELETE COLUMNC. REMOVE COLUMND. CLEAR COLUMN答案:A61. 在SQL 中,以下哪个关键字用于对结果集进行分页()A. PAGEB. PAGINGC. OFFSETD. LIMIT答案:D62. 以下哪个函数用于返回当前日期()A. CURDATE()B. NOW()C. CURRENT_DATE()D. TODAY()答案:C63. 用于返回当前时间的函数是()A. CURTIME()B. NOW()C. CURRENT_TIME()D. THIS_TIME()答案:C64. 在SQL 中,以下哪个关键字用于为表中的列设置默认值()A. DEFAULTB. INITIALC. BASED. START答案:A65. 以下哪个语句用于在SQL 中重命名表()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE答案:A66. 要获取表的结构信息,可以使用以下哪个语句()A. DESCRIBE TABLEB. SHOW TABLE STRUCTUREC. EXPLAIN TABLED. GET TABLE DETAILS答案:A67. 在SQL 中,以下哪个关键字用于在查询结果中去除重复行()A. DISTINCTB. UNIQUEC. SINGLED. ONLY答案:A68. 以下哪个函数用于对字符串进行拼接()A. CONCAT()B. JOIN()C. MERGE()D. COMBINE()答案:A69. 在SQL 中,用于创建临时表的关键字是()A. TEMPORARY TABLEB. TEMP TABLEC. TRANSIENT TABLED. SHORT_LIVED TABLE答案:A70. 以下哪个语句用于在SQL 中为列添加注释()A. COMMENT ON COLUMNB. NOTE ON COLUMNC. REMARK ON COLUMND. EXPLAIN COLUMN答案:A71. 在SQL 中,以下哪个关键字用于在子查询中引用外部查询的结果()A. CORRELATEDB. RELATEDC. CONNECTEDD. LINKED答案:A72. 以下哪个操作符用于在SQL 中进行范围查询()A. BETWEENB. INC. LIKED. EXISTS答案:A73. 用于模糊匹配的操作符是()A. LIKEB. SIMILARC. MATCHD. CLOSE_TO答案:A74. 在SQL 中,以下哪个关键字用于对查询结果进行排序时按照多个列进行()A. ORDER BY MULTIPLEB. SORT BY SEVERALC. ORDER BY MORE THAN ONED. ORDER BY MULTIPLE COLUMNS答案:D75. 以下哪个函数用于返回字符串的子串()A. SUBSTRING()B. PART()C. SEGMENT()D. SLICE()答案:A76. 在SQL 中,以下哪个关键字用于在存储过程中定义输入参数()A. INB. OUTC. INOUTD. PARAMETER答案:A77. 用于定义输出参数的关键字是()A. INB. OUTC. INOUTD. PARAMETER答案:B78. 以下哪个关键字用于在存储过程中定义既可以输入又可以输出的参数()A. INB. OUTC. INOUTD. PARAMETER答案:C79. 在SQL 中,以下哪个关键字用于在创建表时指定自增列()A. AUTO_INCREMENTB. SELF_INCREMENTC. AUTO_GROWD. SELF_GROW答案:A80. 以下哪个语句用于在SQL 中创建序列()A. CREATE SEQUENCEB. MAKE SEQUENCEC. BUILD SEQUENCED. ESTABLISH SEQUENCE 答案:A81. 要获取序列的下一个值,可以使用以下哪个函数()A. NEXTVAL()B. GET_NEXT()C. NEXT_VALUE()D. FOLLOWING_VALUE()答案:A82. 在SQL 中,以下哪个关键字用于锁定表()A. LOCKB. HOLDC. FREEZED. BLOCK答案:A83. 以下哪种锁类型用于防止其他事务读取或修改数据()A. 共享锁B. 排他锁C. 意向共享锁D. 意向排他锁答案:B84. 共享锁允许其他事务()A. 读取数据B. 修改数据C. 删除数据D. 以上都不行答案:A85. 在SQL 中,以下哪个关键字用于解锁表()A. UNLOCKB. RELEASEC. FREED. UNBIND答案:A86. 以下哪个函数用于计算两个日期之间的天数差()A. DATEDIFF()B. DATE_DIFFERENCE()C. DAY_DIFFERENCE()D. TIME_DIFFERENCE()答案:A87. 在SQL 中,以下哪个关键字用于在查询中使用别名()A. ASB. LIKEC. SAME ASD. EQUALS答案:A88. 以下哪个语句用于在SQL 中创建索引的唯一约束()A. UNIQUE INDEXB. PRIMARY INDEXC. FOREIGN INDEXD. CHECK INDEX答案:A89. 要在SQL 中创建全文索引,应使用()A. FULLTEXT INDEXB. COMPLETE TEXT INDEXC. ALL_TEXT INDEXD. WHOLE_TEXT INDEX 答案:A90. 在SQL 中,以下哪个关键字用于在存储过程中声明变量()A. DECLAREB. DEFINEC. STATED. ANNOUNCE答案:A91. 以下哪个语句用于在SQL 中为变量赋值()A. SETB. ASSIGNC. GIVED. PUT答案:A92. 在SQL 中,以下哪个关键字用于在存储过程中进行条件判断()A. IFB. WHENC. CASED. CHECK答案:A93. 以下哪种语句用于在SQL 中进行循环操作()A. FORB. WHILEC. LOOPD. 以上都是答案:D94. 在SQL 中,用于退出循环的语句是()A. BREAKB. EXITC. STOPD. END答案:A95. 以下哪个函数用于将数字转换为字符串()A. CAST()B. CONVERT()C. TO_STRING()D. NUM_TO_STR()答案:B96. 在SQL 中,用于获取当前会话的用户名称的函数是()A. CURRENT_USERB. SYSTEM_USERC. LOGGED_IN_USERD. SESSION_USER答案:A97. 以下哪个关键字用于在SQL 中创建存储函数()A. CREATE FUNCTIONB. MAKE FUNCTIONC. BUILD FUNCTIOND. ESTABLISH FUNCTION 答案:A98. 要删除存储函数,应使用的语句是()A. DROP FUNCTIONB. DELETE FUNCTIONC. REMOVE FUNCTIOND. CLEAR FUNCTION答案:A99. 在SQL 中,用于获取数据库版本信息的函数是()A. VERSION()B. DB_VERSION()C. DATABASE_VERSION()D. SYSTEM_VERSION()答案:A100. 以下哪个操作可以在SQL 中对表进行重命名()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE NAME答案:A。

sql期末试题及答案

sql期末试题及答案

sql期末试题及答案在下面的文章中,我将为您呈现一份SQL期末试题及答案,以便您进行学习和复习。

请注意,我会尽力满足您对整洁美观排版和流畅语句的要求,同时保持准确性和阅读体验。

祝您阅读愉快!SQL期末试题及答案一、选择题1. 下列哪个是SQL的关键字?a) SELECTb) OPTIONc) VALUESd) JOIN答案:a) SELECT2. SQL是什么的缩写?a) Simple Query Language(简单查询语言)b) Structured Query Language(结构化查询语言)c) Sequential Query Language(顺序查询语言)d) Systematic Query Language(系统化查询语言)答案:b) Structured Query Language(结构化查询语言)3. 下面哪个SQL函数用于返回指定字符的长度?a) COUNTb) LENGTHc) MAXd) AVG答案:b) LENGTH4. 在SQL中,以下哪个关键字用于过滤查询结果?a) GROUP BYb) ORDER BYc) WHEREd) HAVING答案:c) WHERE5. 下面哪个SQL关键字用于对结果集进行排序?a) LIMITb) SORTc) ORDER BYd) ASC答案:c) ORDER BY二、填空题1. 在数据库中,用于创建新表的关键字是____。

答案:CREATE2. 以下是MySQL数据库管理系统的一些函数:- SUM:用于计算指定列的总和。

- MAX:用于返回指定列的最大值。

- MIN:用于返回指定列的最小值。

请补充缺失的函数名称:____。

答案:AVG(用于返回指定列的平均值)三、简答题1. 什么是SQL注入攻击?如何防止SQL注入攻击?答:SQL注入攻击是指恶意用户通过在用户输入的数据中插入恶意的SQL代码来破坏、篡改或者获取数据库中的数据。

《数据库系统概论》SQL语言复习题(含答案)

《数据库系统概论》SQL语言复习题(含答案)

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复习题(附部分答案)

一、单选题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试题及答案

SQL试题及答案模拟测验1一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMSB.DBC.DBSD.DBA2.下列四项中,不属于SQL2005实用程序的是()。

A.对象资源管理器B.查询分析器C.服务管理器D.媒体播放器3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。

A.materB.modelC.pubD.mdb4.下列哪个不是ql数据库文件的后缀。

A..mdfB..ldfC..tifD..ndf5.SQL语言允许使用通配符进行字符串匹配的某作,其中%可以表示()A.零个字符B.1个字符串C.多个字符串D.以上都是6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。

A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.SQL的视图是从()中导出的。

A.基本表B.视图C.基本表或视图D.数据库8.在SQL语言中,建立存储过程的命令是()A、CREATEPROCEDUREB、CREATERULEC、CREATEDURED、CREATEFILE9.SQL语言中,删除表中数据的命令是()。

A.DELETEB.DROPC.CLEARD.REMOVE10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。

A.p_dbhelpB.p_dbC.p_helpD.p_helpdb二、简答题(16分)1、什么是游标?使用游标的步骤?2、什么是事务?事务的基本属性是什么?三、应用题1、创建一个名字为k的数据库,包含一个数据文件和一个日志文件,逻辑文件名为k_data,磁盘文件名为k_data.mdf,文件初始容量为5MB,最大容量为10MB,文件递增量为1MB;而事务日志文件的逻辑文件名k_log,磁盘文件名为k_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在C:\\SERVER文件夹下)(10分)2、假设k数据库有以下三张表,请写出下列问题的SQL语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在SQLServer上创建这三张表;(2)查询刘峰教师所授课程号,课程名;(3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数据库技术”的学生的学号;(7)向学生表中插入一条记录(2003001,吴红,21,女);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁;SQLServer2005复习题一、选择题1.SQL语言允许使用通配符进行字符串匹配的某作,其中%可以表示(C)A零个字符B1个字符串C多个字符串D以上都是2如何在已经创建好的表上添加一个外键(A)AAltertable表名addforeignkey(键名)reference关联表(关联键名)BAltertable表名addPrimarykey(键名)reference关联表(关联键名)CAlter表名addforeignkey(键名)reference关联键名)DAlter表名addPrimarykey(键名)reference关联表(关联键名)3.要修改表名为Table1的字段Field1长度,原为Char(10)要求用SQL增加长度为char(20),以下语句那个正确(C)AAltertableTable1AlterField1char(20)BAlterTable1AltercolumnField1char(20)CAltertableTable1AltercolumnField1char(20)DAltercolumnField1char(20)4.下面聚集函数中哪个只能用于计算数值类型的数据(D)ACOUNT()BMIN()CMA某()DSUM()5.以下哪个关键字用来定义记录在某属性上的约束条件(D)ADEFAULTBDISTINCTCUNIQUEDCHECK6.欲往表中增加一条记录,应该用哪一条SQL语句(B)AALTERTABLEBINSERTINTOTABLECCREATETABLEDDROPTABLE7.以下哪一个不是逻辑运算符(D)ANOTBANDCORDIN8.在创建表的过程中,哪个关键字用来定义默认值(D)ADISTINCTBUNIQUECCHECKDDEFAULT二、填空题1数据库技术经历了人工管理阶段,_________和_______三个发展阶段。

SQL 数据库试题及答案

SQL 数据库试题及答案

SQL 数据库试题及答案一、单选题(每题2分,共20分)()1、下列不能启动SQL Server服务的方法:A、使用SQL Server配置管理器B、使用Windows的管理工具C、使用net start mssqlserver 命令D、在查询编辑器中编写T-SQL程序()2、部分匹配查询中有关通配符“%”的正确的叙述是。

A、“%”代表多个字符B、“%”可以代表零个或多个字符C、“%”不能与“_”一同使用D、“%”代表一个字符()3、在SELECT子句中,如果想要返回结果集中不包含相同的行,应该使用关键字。

A、TOPB、ASC、DISTINCTD、JOIN()4、是表中用来唯一标识的每行记录。

A、外键B、主键C、索引D、数据库完整性()5、SQL 中,"GRADE NOT BETWEEN 60 AND 90"的语义是。

A、GRADE<60 OR GRADE>90B、GRADE<= 60 OR GRADE>= 90C、GRADE<>60 AND GRADE<>90D、GRADE<>60 OR GRADE<>90()6、简称DBA。

A、数据库管理员B、数据库C、数据库管理系统D、计算机硬件()7、在SQL中,可以使用语句执行恢复数据库的操作。

A、BACKUP DA TABASEB、RESTORE DA TABASEC、CREATE DARABASED、DROP DATABASE()8、设一个班级可选修多门课程,一门课程可被多个班级选修,班级与课程之间是。

A、一对一的联系B、一对多的联系C、多对一的联系D、多对多的联系()9、SQL Server2016的数据库中主数据文件的扩展名是。

A、.mdfB、.ndfC、.ldfD、.dbf()10、当表中引入时,会提高记录的查询速度。

A、外键B、主键C、索引D、数据库完整性二、数据库设计题(共40分)根据如下E-R图,将其转换为逻辑数据库。

SQL数据库复习资料操作题复习(带答案)

SQL数据库复习资料操作题复习(带答案)

使用T-SQL语句完成下列题目,保存所有SQL语句为一个脚本文件,文件名为学号姓名.sql,SQL语句前加上题号。

(共60分)一、创建数据库创建一个数据库,数据库名为student,主数据文件的逻辑名为student_data,物理名称为student_data.mdf,存放在D盘根目录下,初始大小为10MB,最大可增长到50MB,增长方式是按5%比例增长;日志文件的逻辑名称为student_log,物理名称为student_log.ldf,存放在D盘根目录下,初始大小为2MB,最大可增长到5MB,按1MB 增长。

create database studenton primary(name=student_data,filename='D:\student_data.mdf',size=10MB,maxsize=50MB,filegrowth=5%)log on(name=student_log,filename='D:\student_log.ldf',size=2MB,maxsize=5MB,filegrowth=1MB)二、创建表create table 学生(学号char(8) primary key,姓名char(20) not null,性别char(2) not null check(性别in('男','女')),出生日期datetime null)use studentcreate table 成绩(学号char(8),课程名varchar(30),成绩real null check(成绩between 0 and 100)primary key(学号,课程名),foreign key (学号) references 学生(学号))3、在gxc数据库中创建商品表,表名:sp。

结构如下:use gxcCreate table sp(bh char(20) primary key,mc varchar(50) not null,xkc real,sj money)4、在gxc数据库中创建供应表,表名:gy。

SQL复习题答案

SQL复习题答案

SQL Server数据库应用管理-习题集说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,姓名,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。

一、单项选择题1.下列属于SQL Server系统数据库的是。

A.master B.SysbaseC.student D.Database2.SQL Server中,数据库主数据文件扩展名为。

A.ldf B.mdfC.ndf D.dbf3.SQL Server中,索引类型按结构划分,包括。

A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.内索引和外索引4.SQL Server的数据定义语句是。

定义:创建A.CREATE,DROP,ALTERB.INSERT,UPDATE,DELETEC.SELECT,DELETE,UPDATED.CREATE,GRANT,INSERT5.下面的描述正确的是。

A.每个数据文件中可以有多个主数据文件B.只允许有一个次数据文件。

C.一个数据库有主数据库文件即可。

D.一个数据库至少由一个主数据文件和一个日志文件组成。

6.下面字符串能与通配符表达式ABC%a 进行匹配的是。

A.BCDEF B.A_BCD C.ABCDa D.ACBDE 7.下列属于数据库管理系统的是。

A.SQL Server 2005B.ExcelC.Windows 2000D.IE68.实体完整性要求主属性不能取空值,这一点通常是通过实现。

A.定义外部键来保证B.定义主键来保证C.用户定义的完整性来保证D.关系系统自动保证Server的数据操纵命令是。

A.SELECT,INSERT,UPDATE,DELETEB.CREATE,INSERT,UPDATE,DELETEC.GRANT,CREATE,REVOKED.SELECT,CREATE,DROP,ALTER10.下面的描述错误的是。

A. 每个数据文件中有且只有一个主数据文件B.可以有多个次数据文件。

sql数据库期末考试题及答案

sql数据库期末考试题及答案

一、单选题(共10 道试题,共50 分。

) V 1. SQLServer中,保存着每个数据库对象的信息的系统表是(C)。

A. sysdatabasesB. SyscolumnsC. SysobjectsD. Syslogs2. 在存在下列关键字的SQL语句中,不可能出现Where 子句的是( D )。

A. UpdateB. DeleteC. InsertD. Alter3. 在查询语句的Where 子句中,如果出现了“ age Between 30 and 40 ” , 这个表达式等同于(A )。

A. age>=30 and age<=40B. age>=30 or age<=40C. age>30 and age<40D. age>30 or age<404. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用( D )约束。

A. PDRIMARY KEYB. FOREIGN KEYC. uniqueD. check5. 记录数据库事务操作信息的文件是( D )。

A. 数据文件B. 索引文件C. 辅助数据文件D. 日志文件6. 要查询 XSH数据库 CP表中产品名含有“冰箱”的产品情况,可用( C )命令。

A. SELECT * FROM CP WHERE产品名称LIKE ‘冰箱’B. SELECT * FROM XSH WHERE产品名称 LIKE ‘冰箱’C. SELECT * FROM CP WHERE产品名称LIKE ‘%冰箱 %’D. SELECT * FROM CP WHERE产品名称 =‘冰箱’7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是( D )。

A. 一对一的联系B. 一对多的联系C. 多对一的联系D. 多对多的联系8.SQL 的聚集函数 COUNT、SUM、AVG、MAX、MIN 不允许出现在查询语句的( D )子句之中。

数据库原理及应用SQL_习题集(含答案)

数据库原理及应用SQL_习题集(含答案)

《数据库原理及应用SQL》课程习题集一、单选题1. ER模型属于()A.概念模型B.层次模型C.网状模型D.关系模型2.数据库系统的三级模式结构中,定义索引的组织方式属于()A.概念模式B.外模式C.逻辑模式D.内模式3. SQL语言中,实现数据存取控制功能的语句是()A.CREATE和DROP?B.INSERT和DELETEC.GRANT和REVOKE?MIT和ROLLBACK4.物理结构的改变不影响整体逻辑结构的性质,称为数据库的()A.物理数据独立性B.逻辑数据独立性C.物理结构独立性?D.逻辑结构独立性5.全局ER模型的设计,需要消除属性冲突、命名冲突和()A.结构冲突?B.联系冲突C.类型冲突D.实体冲突6.一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件之间的联系是()A.一对一?B.一对多C.多对一D.多对多7.表达式“AGE BETWEEN 18 AND 24”等价于()A.AGE>18 AND G<24B.AGE>=18 AND G<24C.AGE>18 AND G<=24D.AGE>=18 AND AGE<=248.在数据库设计中,独立于计算机的硬件和DBMS软件的设计阶段是()A.概念设计?B.物理设计C.逻辑设计D.系统实施9.按照PX协议规定,一个事务要更新数据对象Q,必须先执行的操作是()A.READ(Q)B.WRITE(Q)C.LOCK S(Q)D.LOCK X(Q)10.下列聚集函数中不忽略空值(null)的是()A.SUM(列名)B.MAX(列名)C.COUNT(*)D.AVG(列名)11.数据库系统中,对用户使用的数据视图的描述称为(???)A.概念模式B.内模式C.存储模式D.外模式12.数据库的三级模式之间存在着两级映象,使数据库系统具有较高的数据(???)A.相容性B.独立性C.共享性D.一致性13.实体完整性规则是指关系中(???)A.不允许有空行B.主键不允许有空值C.不允许有空列D.外键不允许有空值14.实现关系代数投影运算的SQL子句是(???)A.SELECT B.ORDER??BYC.FROM? D.WHERE15. SQL语言中,用GRANT/REVOKE语句实现数据库的(???)A.并发控制? B.完整性控制C.一致性控制D.安全性控制16.在事务依赖图中,若各个事务之间的依赖关系构成循环,则就会出现(???)A.死锁B.共享锁C.活锁D.排它锁17.以下关于事务调度和封锁的描述中,正确的是(????)A.遵守两段封锁协议的并发事务一定是可串行化的B.可串行化的并发事务一定遵守两段封锁协议C.遵守两段封锁协议的并发事务不一定是可串行化的D.遵守两段封锁协议的并发事务一定不会产生死锁18.数据库与文件系统的根本区别在于()A 提高了系统效率B 方便了用户使用C 数据的结构化D 节省了存储空间19.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(??? )。

(完整版)sql练习题+答案

(完整版)sql练习题+答案

(一) 新建以下几个表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试题及答案

sql试题及答案一、单选题1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于()。

A. Windows平台B. UNIX平台C. LINX平台D. NetWare平台2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会()。

A. 为数据加上页级锁B. 为数据加上行级锁C. 需要用户的干涉和参与D. 使用户独占数据库3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个()。

A. 信任连接B. 邮件集成C. 并发控制D. 数据转换服务4. 以下对SQL Server2000描述不正确的是()。

A. 支持XMLB. 支持用户自定义函数C. 支持邮件集成D. 支持网状数据模型5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装()。

A. 企业版B. 标准版C. 个人版D. 开发版6. 提高SQL Server2000性能的最佳方法之一是()。

A. 增大硬盘空间B. 增加内存C. 减少数据量D. 采用高分辨率显示器7. SQL Server2000标准版不支持的操作系统是()。

A. Windows 2000 ServerB. Windows NT ServerC. Windows98D. Windows 2000 Advanced Server8. 如果希望完全安装SQL Server2000,则应选择()。

A. 典型安装B. 最小安装C. 自定义安装D. 仅连接9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。

A. SQL Server服务器B. 查询分析器C. 网络实用工具D. 数据导入和导出程序10. 用于配置客户端网络连接的工具是()。

A. 企业管理器B. 客户端网络实用工具C. 查询分析器D. 联机帮助文档11. SQL Server2000的物理存储主要包括3类文件()。

SQL数据库期末复习题答案-子良

SQL数据库期末复习题答案-子良

SQL数据库期末复习题答案-子良学生期末综合练习题班级:14电商2班序号:25号姓名:莫子良一、选择题:(1) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,)关于Primary key的描述,那个是正确的(D)A、指定惟一键B、指定检查约束C、指定标识D、指定主键(2) 下面哪个约束,具有自动地生成字段值的是(D)A、Identity标识B、外键约束C、惟一键约束D、主键约束(3) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) UNIQUE ,)关于UNIQUE的描述,那个是正确的(A)A、指定惟一键B、指定检查约束D、指定主键(4) 下面的关于约束的说法,哪个是不正确(D)A、主键、标识列是保证实体完整性。

B、通过CHECK约束、规则、默认值和非空属性可以保证域完整性。

C、参照完整性定义了同一个关系数据库中,不同表中列之间的关系。

D、主键列不能为空值,并且一个表可以有多个主键。

(5) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,工作时间DateTime default getdate())关于default的描述,那个是正确的(C)A、指定惟一键B、指定标识C、指定默认值D、指定主键(6) 下面是创建表的命令:create table 客户信息(编号Int Primary key Identity(1,1),姓名varchar(10) Not NULL ,)关于Identity的描述,那个是正确的(C)A、指定惟一键B、指定检查约束D、指定主键(7) 下面哪个约束,可以让字段能为空的是(C)A、Identity标识B、外键约束C、惟一键约束D、主键约束(8) 下面的说法,哪个是不正确的(C)A、一个表中只能定义一个主键B、每个表可以有多个惟一键C、每个表中,可以定义多个主键D、外键列可以由一列或多列组成(9) 关于SQL Server的安全模型,下面说法不正确的是(A)A、用户只要登录到SQL Server服务器实例,就可以访问数据库了B、S QL Server有混合身份验证和仅windows两种验证模式C、一个登录名要访问哪个数据库,需要将登录名映射到该数据库中D、一个登录名可以与多个数据库建立映射(10) 下面的SQL语句中,完全正确的是:(C)A、Declare @dispStr Varchar(20)='这是一个局部变量'Print @dispStrB、Declare @dispStr Varchar(20),@numInt Intset @dispStr='这是一个局部变量',@numInt=6C、Declare @dispStr Varchar(20),@num Int=6set @dispStr='这是一个局部变量'Print @dispStrD、Declare @dispStr Varchar(20),@numInt IntSelect @dispStr='这是一个局部变量',@numInt=6二、判断下列语句是否正确1)“南京大学”是SQL中的字符串常量答:不是,“”中的常量不属于字符串常量,应使用‘’号2)‘328.59’是SQL中的实型常量。

sql经典练习题库(附答案)

sql经典练习题库(附答案)

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复习题(附部分答案)

语句。
(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课后练习题(1-9章答案)

SQL课后练习题(1-9章答案)

第一章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数据库理论考试题(含答案)

1 答案:A执行下列命令,use student ; use teacher ; use teacher; use student 最后哪个数据库被选中为当前数据库()A studentB teacherC 两个数据库都被选中,D 两个数据库都没被选中2 答案:B下面SQL语句DROP DA TABASE WSTS 的含义为()A 删除数据库WSTS 但是可以恢复B 删除数据库WSTS 不可以恢复。

C 创建一个名为WSTS的表D 删除一个名为WSTS的表3 答案:D下列语句的执行结果为:()USE SALESINSERT CUSTOMERS V ALUES(…JERRY‟,‟84312‟,‟322343242‟)A 给SALES数据库添加一个名为CUSTOMERS的表B 向SALES数据库里面所有的表添加一个记录。

C 删除SALES数据库里面名为CUSTOMERS的表D 向SALES数据库里的CUSTOMERS表添加一条记录4 答案:B删除CUSTOMERS 表中CUSTID=5 的记录的语句为()A DROP FROM CUSTOMERS WHERE CUSTID=5B DELETE FROM CUSTOMERS WHERE CUSTID=5C SELECT FROM CUSTOMERS WHERE CUSTID=5D DROP CUSTOMERS WHERE CUSTID=55 答案:A查看年龄为20的所有人的记录,SQL语句为()A SELECT * FROM CUSTOMERS WHERE AGE=20B DROP FROM CUSTOMERS WHERE AGE=20C SELECT FROM CUSTOMERS WHERE AGE=20D DELETE FROM CUSTOMERS WHERE CUSTID=56 答案:BEXEC sp_dboption …产品数据库‟ ,‟SINGLE USER‟,TrueEXEC sp_renam edb …产品数据库‟,‟product‟EXEC sp_dboption …product‟,‟SINGLE USER‟,False面三条语句的执行结果为()A 删除掉…产品数据库‟B 把…产品数据库‟改名为‟product‟C 删除掉…product‟D 把‟product‟改名为…产品数据库‟7 答案:A把user 表中凡是名字为‟jack‟的记录删除的语句为()A delet e * from user where name=”jack”B drop from user where name=”jack”C alter from user where name=”jack”D delete user where name=”jack”8 答案:ASELECT 所属部门,A VG(工资) AS 平均工资FROM 员工数据库。

结构化查询语言SQL习题与答案

结构化查询语言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) MODIFY7. 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. 下列描述错误的是______。

A) SQL中的UPDATE语句可以修改一条记录B)SQL中的UPDATE语句可以修改多条记录C)SQL中的UPDATE语句可以用子查询提供要修改的值D)SQL中的UPDATE语句可以修改子查询的结果12. SQL中的DELETE语句可以用于______。

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

一、单选题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_)。

⑴ A、SELECT,INTO B、SELECT,FROMC、SELECT,GROUPD、仅SELECT⑵ A、DISTINCT B、UNION C、ALL D、TOP⑶ A、JOIN B、UNION C、INTO D、LIKE⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE答案[B A B A ]6、SQL Server 2008是一个()的数据库系统。

(A)网状型(B)层次型(C)关系型(D)以上都不是答案[ C]7、利用查询分析器,能()。

A、直接执行SQL语句B、提交SQL语句给服务器执行C、作为企业管理器使用D、作为服务管理器使用答案[A ]8、事务日志文件的默认扩展名是()。

A、MDFB、NDFC、LDFD、DBF答案[C ]10、 SQL Server的主数据库是()。

A、MASTERB、TEMPDBC、MODELD、MSDB答案[ A]11、数据库的容量,()。

A、只能指定固定的大小。

B、最小为10MC、最大100M。

D、可以设置为自动增长答案[ D]12、日期时间型数据类型(datetime)的长度是()。

A、2B、4C、8D、16答案[ 8]13、表在数据库中是一个非常重要的数据对象,它是用来(__)各种数据内容的。

A、显示B、查询C、存放D、检索答案[C ]14、为数据表创建索引的目的是(_1_),可以在创建表时用( 2_)来创建唯一索引。

⑴ A、提高查询的检索性能 B、创建唯一索引C、创建主键D、归类⑵ A、设置主键约束,设置唯一约束 B、Create table,Create indexC、设置主键约束,Create indexD、以上都可以答案[A A ]15、在T-SQL语法中,用来插入和更新数据的命令是(___)。

A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、CREATE,INSERT INTO答案[ A]16、主键约束用来强制数据的()完整性。

A、域B、实体C、参照D、ABC都可以答案[ B]18、替代触发器(instead of)是在触发触发器的修改操作()执行。

A、执行后B、停止执行时C、同时D、之前答案[ D]19、聚合函数的返回值是()。

A、一个标量值B、一组值C、表达式D、表答案[ A]20、关于主键描述正确的是:()(A)包含一列(B)包含两列(C)包含一列或者多列(D)以上都不正确答案[]22、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是()(A)* (B)% (C)- (D)?答案[ B]23、如果希望完全安装SQL Server,则应选择()。

(A)典型安装(B)最小安装(C)自定义安装 (D)仅连接答案[C ]24、对视图的描述错误的是:()A.是一张虚拟的表B.在存储视图时存储的是视图的定义C.在存储视图时存储的是视图中的数据D.可以像查询表一样来查询视图答案[C ]25、T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是()。

(A)CREATE (B)UPDATE (C)ALTER(D)USE答案[ C]26、SQL server 数据库文件有3类,其中日志文件的后缀为()。

(A).ndf B).ldf (C).mdf (D).idf答案[B ]27、表示职称为副教授同时性别为男的表达式为( )A.职称=‘副教授' OR 性别=‘男'B.职称=‘副教授' AND 性别=’男'C.BETWEEN‘副教授' AND ’男'D.IN (‘副教授',‘男')答案[B ]28、在SQL SERVER服务器上,存储过程是一组预先定义并()的Transact-SQL 语句。

(A)保存 (B)编写 (C)解释 (D)编译答案[ D]29、数据管理发展的三个阶段不包括( )。

(A)人工管理阶段 (B)文件管理阶段(C)数据库管理阶段 (D)智能管理阶段答案[ D]30、SQL语言按照用途可以分为三类,不包括下面选项中的()。

(A)DML (B)DCL (C)DQL (D)DDL答案[C ]31、在SQL SERVER中局部变量前面的字符为:()(A)* (B)# (C)@@ (D)@答案[ D]32、以下哪一个不是逻辑运算符()?(A)NOT (B)AND (C)OR (D)IN答案[ D]33、SQL Server 2008 采用的身份验证模式有()。

A.仅Windows身份验证模式B.仅SQL Server身份验证模式C.仅混合模式D.Windows身份验证模式和混合模式答案[D ]34、关于主键描述正确的是:()A、包含一列B、包含两列C、包含一列或者多列D、以上都不正确答案[ C]35、下列()数据库不属于SQL Server2008在安装时创建的系统数据库。

A、masterB、msdbC、modelD、bookdb答案[ D]36、在SQL SERVER中全局变量前面的字符为:()A、*B、#C、@@D、@答案[C ]37、在SQL Server中,当数据表被修改时,系统自动执行的数据库对象是()。

A、存储过程B、触发器C、视图D、其他数据库对象答案[ B]38、SQL Server的字符型系统数据类型主要包括()。

A、Int、money、charB、char、varchar、textC、 datetime、binary、intD、char、varchar、int答案[ B]39、在SELECT语句的WHERE子句的条件表达式中,可以匹配1个字符的通配符是()A、*B、%C、_D、?答案[C ]40、在WHILE循环语句中,如果循环体语句条数多于一条,必须使用:()A.BEGIN……ENDB.CASE……ENDC.IF…………THEND.GOTO答案[A ]41、SELECT查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是:()A、ORDER BYB、WHEREC、GROUP BYD、HAVING答案[A ]42、根据关系数据基于的数据模型――关系模型的特征判断下列正确的一项:( )A.只存在一对多的实体关系,以图形方式来表示B.以二维表格结构来保存数据,在关系表中不允许有重复行存在C.能体现一对多,多对多的关系,但不能体现一对一的关系D.关系模型数据库是数据库发展的最初阶段答案[B ]43、新安装SQL Server后,默认有五个内置的数据库,其中主数据库是()。

A、masterB、tempdbC、msdbD、model答案[ A]44、SQL 语言中,删除一个视图的命令是()。

A. DELETEB.DROPC.CLEARD.REMOVE答案[B ]45、创建表的命令是()。

A.Create database 表名B. Create VIEW 表名C. Alter TABLE 表名D. Create TABLE 表名答案[D ]46、在Transact-SQL语法中,用来插入数据的命令是( ),用于更新的命令是( )A.INSERT,UPDATEB.UPDATE,INSERTC、DELETE,UPDATED.CREATE,INSERT INTO答案[ A]47、创建表的命令是()。

A、 Create database 表名B.Create VIEW 表名C、 Create TABLE 表名D.Alter TABLE 表名答案[ C]48、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1),使用关键字(2)可以把重复行屏蔽,对查询结果进行分组的是(3)(1)A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT(2)A、DISTINCT B、UNION C、ALL D、TOP(3)A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE答案[B A A ]49、要删除视图myview,可以使用()语句。

A、 DROP myviewB、DROP TABLE myviewC、 DROP INDEX myviewD、DROP VIEW myview答案[ D]50、在SQL SERVER服务器上,存储过程是一组预先定义的Transact-SQL语句.可以用( )来声明游标.A、CREATE CURSORB、ALTER CURSORC、SET CURSORD、DECLARE CURSOR答案[A ]51、关于ORDER BY子句,下列哪个说法是不正确的?()A.升序和降序的关键字是ASC和DESC 。

相关文档
最新文档