(完整版)sql练习题+答案
- 格式:docx
- 大小:17.09 KB
- 文档页数:14
(完整版)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语句期末试题及答案```一、单项选择题(共10题,每题2分,共20分)1. 在SQL中,下列哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:A2. 在SQL中,用于删除表的命令是?A. DELETEB. DROP TABLEC. REMOVE TABLED. TRUNCATE TABLE答案:B3. 在SQL中,用于在表中插入新记录的命令是?A. INSERT INTOB. UPDATEC. ADDD. SET答案:A4. 下列语句中,哪一个用于从表中选择特定的行?A. SELECTB. FILTERC. SEARCHD. FIND答案:A5. 在SQL中,用于更新表中记录的命令是?A. MODIFYB. CHANGEC. UPDATED. ALTER答案:C6. 在SQL中,用于删除表中记录的命令是?A. DELETEB. DROPC. REMOVED. TRUNCATE答案:A7. 下列哪个关键字用于从表中选择唯一的记录?A. UNIQUEB. DISTINCTC. UNIQUEKEYD. PRIMARY答案:B8. 在SQL中,用于指定表的新名称的命令是?A. RENAME TABLEB. ALTER TABLEC. MODIFY TABLED. CHANGE TABLE答案:A9. 在SQL中,用于修改表中列定义的命令是?A. RENAME COLUMNB. ALTER COLUMNC. MODIFY COLUMND. CHANGE COLUMN答案:C10. 下列哪个操作符用于在WHERE子句中判断一个值是否在指定的列表中?A. INB. NOTC. LIKED. BETWEEN答案:A二、判断题(共5题,每题2分,共10分)1. 在SQL中,SELECT语句用于删除表中的记录。
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考试题及答案一、选择题(每题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中的______语句用于删除表。
一、单选题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 数据库试题及答案一、单选题(每题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 数据库基础考试(答案见尾页)一、选择题1. SQL 中的哪个关键字用于指定查询结果的排序?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING2. 在 SQL 中,用于计算两个日期之间相差的天数的函数是什么?A. DATEADDB. DATEDIFFC. TIMESTAMPDIFFD. AVG3. SQL 中的哪个操作符用于修改现有数据?A. INSERTB. UPDATEC. DELETED. CREATE4. 在 SQL 中,用于从表中选择所有列的子查询是哪种类型?A. 单行子查询B. 多行子查询C. 子查询D. 嵌套子查询5. SQL 中的哪个关键字用于将查询结果保存到新表中?A. INSERT INTOB. CREATE TABLEC. SELECT INTOD. ALTER TABLE6. 在 SQL 中,用于限制查询结果数量的关键字是什么?A. LIMITB. OFFSETC. FETCHD. ORDER BY7. SQL 中的哪个操作符用于组合多个条件?A. ANDB. ORC. NOTD. BETWEEN8. 在 SQL 中,用于删除表中所有数据的命令是什么?A. DELETEB. DROPC. TRUNCATED. DELETE FROM9. SQL 中的哪个函数用于返回字符串的长度?A. LENGTHB. STRLENC. CHARACTER_LENGTHD. CONCAT10. 在 SQL 中,用于按列对查询结果进行分组的关键字是什么?A. GROUP BYB. ORDER BYC. DISTINCTD.HAVING11. SQL 中的哪一命令可以用来执行查询操作?A. SELECTB. INSERTC. UPDATED. DELETE12. 在 SQL 中,如果要修改表结构,应该使用哪一命令?A. ALTER TABLEB. CREATE TABLEC. DROP TABLED. REPLACE TABLE13. SQL 中的哪一命令可以用来创建一个新的数据表?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. REPLACE TABLE14. 在 SQL 中,假设你有一个名为 "students" 的表,可以通过哪一命令来查看学生的姓名和年龄?A. SELECT name, age FROM students;B. SELECT * FROM students;C. INSERT INTO students (name, age) VALUES ('张三', 20);D. DELETE FROM students WHERE age > 18;15. 在 SQL 中,如果要删除一个名为 "students" 的表,应该使用哪一命令?A. DROP TABLE students;B. DELETE TABLE students;C. CASCADE TABLE students;D. TRUNCATE TABLE students;16. SQL 中的哪一命令可以用来为表中的某一列设置默认值?A. ALTER TABLEB. CREATE TABLEC. MODIFY TABLED. ALTER COLUMN17. 在 SQL 中,如果要修改一个已存在的表的列名,应该使用哪一命令?A. ALTER TABLEB. CREATE TABLEC. MODIFY TABLED. ALTER COLUMN18. SQL 中的哪一命令可以用来排序查询结果?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING19. 在 SQL 中,假设你有一个名为 "orders" 的表,可以通过哪一命令来计算订单总金额?A. SELECT SUM(amount) FROM orders;B. SELECT AVG(amount) FROM orders;C. SELECT COUNT(orderID) FROM orders;D. SELECT MAX(amount) FROM orders;20. SQL 中的哪一命令可以用来插入一个新的记录到表中?A. INSERT INTOB. CREATEC. REPLACED. ALTER21. SQL 中的哪个关键字用于指定查询结果的排序方向?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT22. 在 SQL 中,用于修改现有数据表结构的命令是?A. CREATE TABLEB. ALTER TABLEC. DELETE TABLED. DROP TABLE23. SQL 中的哪个函数用于返回当前日期和时间?A. NOW()B. CURRENT_DATE()C. LOCALTIME()D. DATE()24. 在 SQL 中,用于条件筛选的运算符是?A. =B. !=C. >D. <=25. SQL 中的哪个语句用于插入新的记录?A. INSERT INTOB. UPDATEC. DELETED. CREATE26. 在 SQL 中,用于删除表中所有记录的命令是?A. DELETE FROMB. DROP TABLEC. TRUNCATE TABLED. DELETE27. SQL 中的哪个运算符用于执行算术运算?A. +B. -C. *D. /28. 在 SQL 中,用于分组查询结果的运算符是?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT29. 在 SQL 中,用于连接两个或多个表的运算符是?B. UNIONC. INTERSECTD. EXCEPT30. 在 SQL 中,如果要删除一个表,应该使用哪一命令?A. DROP TABLEB. DELETE TABLEC. TRUNCATE TABLED. DELETE31. SQL 中的哪一命令可以用来查看表的结构?A. DESCRIBE TABLEB. SHOW TABLESC. EXPLAIN TABLED. SELECT * FROM INFORMATION_SCHEMA.TABLES32. 在 SQL 中,如果要修改表中的数据,应该使用哪一命令?A. INSERTB. UPDATEC. DELETED. CREATE33. SQL 中的哪一命令可以用来从一个表复制数据到另一个表?A. INSERT INTO ... SELECTB. CREATE TABLE ... LIKEC. INSERT INTO ... VALUESD. DELETE FROM ... JOIN34. 在 SQL 中,如果要排序查询结果,应该使用哪一命令?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT35. SQL 中的哪一命令可以用来限制查询结果的数量?B. OFFSETC. FETCHD. SKIP36. 在 SQL 中,如果要查看当前数据库,应该使用哪一命令?A. SHOW DATABASESB. USE DATABASEC. SELECT * FROM INFORMATION_SCHEMA.DATABASESD. DESCRIBE DATABASES37. SQL 中的哪一命令可以用来从表中检索所有列?A. SELECT *B. SELECT DISTINCT *C. SELECT ALL *D. SELECT *38. 在 SQL 中,哪种数据类型允许存储文本字符串?A. INTB. VARCHARC. DATED. TIME39. SQL 中的哪一命令可以用来修改现有表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. REPLACE TABLE40. 在 SQL 中,哪种子查询可以在主查询中用作条件?A. 带有 EXISTS 的子查询B. 带有 IN 的子查询C. 带有 ANY 的子查询D. 带有 ALL 的子查询41. SQL 中的哪一命令可以用来删除表中的所有行?A. DELETEB. TRUNCATEC. DROPD. DELETE ALL42. 在 SQL 中,哪种类型的约束可以用来确保字段值不重复?A. 主键约束B. 外键约束C. 唯一约束D. 非空约束43. 在 SQL 中,哪种类型的约束可以用来限制字段值的取值范围?A. 主键约束B. 外键约束C. 唯一约束D. 检查约束44. 在 SQL 中,哪种命令可以用来插入新的记录?A. INSERT INTOB. REPLACE INTOC. DELETED. CREATE二、问答题1. 什么是数据库管理系统(DBMS)?2. 关系数据库模型有哪些类型?3. 什么是SQL语言?4. 什么是数据库事务?为什么事务很重要?5. 什么是数据库索引?索引有什么优点?6. 并发控制:索引有助于提高数据库系统的并发性能,避免多个并发事务之间的冲突。
sql考试试卷及答案SQL考试试卷及答案一、单项选择题(每题2分,共20分)1. SQL是()。
A. 结构化查询语言B. 简单查询语言C. 顺序查询语言D. 系统查询语言答案:A2. 在SQL中,用于创建新表的命令是()。
A. SELECTB. INSERTC. CREATE TABLED. DROP TABLE答案:C3. SQL中,用于删除表中数据的命令是()。
A. DELETEB. REMOVEC. DROPD. CLEAR答案:A4. 如果要查询表中所有列的数据,应该使用()。
A.B. SELECT ALLC. ALLD. SELECT答案:D5. 在SQL中,用于更新表中数据的命令是()。
A. UPDATEB. CHANGEC. MODIFYD. ALTER答案:A6. SQL中,用于添加新数据到表中的命令是()。
A. INSERT INTOB. ADD INTOC. PUT INTOD. JOIN INTO答案:A7. 在SQL中,用于查询特定列数据的关键字是()。
A. SELECTC. FROMD. AND答案:A8. SQL中,用于连接两个或多个表的关键字是()。
A. JOINB. UNIONC. INTERSECTD. ALL答案:A9. 在SQL中,用于创建视图的命令是()。
A. CREATE VIEWB. VIEWC. CREATE TABLE AS答案:A10. SQL中,用于删除表的命令是()。
A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. CLEAR TABLE答案:A二、多项选择题(每题3分,共15分)1. SQL中,以下哪些命令用于数据定义()。
A. CREATEB. ALTERC. DROPD. INSERT答案:A, B, C2. 在SQL中,以下哪些命令用于数据操纵()。
A. SELECTB. INSERTC. UPDATED. DELETE答案:A, B, C, D3. SQL中,以下哪些关键字用于数据控制()。
sql试题及答案解析SQL试题及答案解析1. 题目:查询所有学生的姓名和年龄。
答案:使用以下SQL查询语句可以实现该需求:```sqlSELECT name, age FROM students;```解析:此查询语句从`students`表中选择`name`和`age`两个字段,返回所有学生的姓名和年龄。
2. 题目:统计每个班级的学生人数。
答案:使用以下SQL查询语句可以统计每个班级的学生人数:```sqlSELECT class_id, COUNT(*) AS student_count FROM students GROUP BY class_id;```解析:此查询语句通过`GROUP BY`子句按`class_id`分组,使用`COUNT(*)`函数统计每组的记录数,即每个班级的学生人数。
3. 题目:找出成绩最高的学生的姓名和成绩。
答案:使用以下SQL查询语句可以找出成绩最高的学生的姓名和成绩:```sqlSELECT name, score FROM students ORDER BY score DESC LIMIT 1; ```解析:此查询语句首先使用`ORDER BY score DESC`对成绩进行降序排序,然后通过`LIMIT 1`限制返回的记录数为1,从而得到成绩最高的学生的姓名和成绩。
4. 题目:查询所有选修了课程编号为'CS101'的学生的姓名。
答案:使用以下SQL查询语句可以查询所有选修了课程编号为'CS101'的学生的姓名:```sqlSELECT FROM students s JOIN enrollments e ONs.student_id = e.student_id WHERE e.course_id = 'CS101';```解析:此查询语句通过`JOIN`操作符连接`students`表和`enrollments`表,条件是两个表中的`student_id`字段相等。
第1章数据库系统与数据库概念设计思考与练习一、选择题1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。
A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS2.下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是(D)。
I.人工管理阶段II.文件系统阶段III.数据库阶段A.I 和IIB.只有IIC.II 和IIID.只有I3.描述数据库全体数据的全局逻辑结构和特性的是(A )。
A.模式B.内模式C.外模式4.要保证数据库的数据独立性,需要修改的是(C )。
A.模式与外模式B.模式与内模式C.三级模式之间的两层映射D.三级模式5.E-R方法的三要素是(C)。
A.实体、属性、实体集B.实体、键、联系C.实体、属性、联系D.实体、域、候选区6.概念设计的结果是(B )。
A.一个与DBMS相关的要领模型B.一个与DBMS无关的概念模型C.数据库系统的公用视图数据库应用技术(SQL Server 2005)D.数据库系统的数据字典7.下列四项中,不属于数据库系统特点的是(C )。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高第2章关系模型与数据库逻辑设计思考与练习一、选择题1.关系数据模型是目前最重要的一种数据模型,它的三个要素是(A )。
A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式2.一个关系中,能唯一标识元组的属性集称为关系的(B)。
A.副键B.关键字C.从键D.参数3.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的外码是(A )。
A.患者编号B.患者姓名C.患者编号和患者姓名D.医生编号和患者编号4.关系数据库管理系统应能实现的专门关系运算包括(B )。
(一) 新建以下几个表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岁以下的学生姓名及其年龄。
select sname , age from student where age < 20(8)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
(9)查询年龄不在20~23岁之间的学生姓名、系别和年龄。
(10)查询信息系、数学系和计算机科学系生的姓名和性别。
(11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
(12)查询所有姓刘学生的姓名、学号和性别。
(13)查询学号为2009011的学生的详细情况。
(具体的学号值根据表中数据确定)select * from student where sno =5(14)查询姓“欧阳”且全名为三个汉字的学生姓名(15)查询名字中第2个字为“晨”字的学生的姓名和学号(16)查询所有不姓刘的学生姓名。
(17)查询sql课程的课程号和学分(18)查询以"DB_"开头,且倒数第3个字符为i的课程的详细情况。
(19)查询缺少成绩的学生的学号和相应的课程号。
(20)查所有有成绩的学生学号和课程号。
(22)查询信息系、数学系和计算机科学系学生的姓名和性别。
(使用多个条件表达式)select sname , sex from student where dept =' 信息系’or dept ='数学系’or dept ='计算机科学系(23)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
(使用多个条件表达式)(24)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列select sno , cj from cs where eno =3 order by cj desc(25)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。
(26)查询学生总人数。
select count (*) from student(27)查询选修了课程的学生人数。
select count (sno ) from cs where cno is not null(28)计算1号课程的学生平均成绩。
select avg ( cj ) from cs where cno = 1(29)查询选修1号课程的学生最高分数。
select max( cj ) from cs where cno =1(30)求各个课程号及相应的选课人数。
(31)查询选修了3门以上课程的学生学号。
select sno , count ( eno ) from es group by sno having count ( eno )> 3(32)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数。
select sno , count (eno ) as '课程数'from cswhere cj >90group by sno having count ( eno )>= 3(33)查询学生2006011选修课程的总学分。
select sum( course ) from course , cs wherecourse . eno =cs . sno and cs . sno =2006011(34)查询每个学生选修课程的总学分。
(35)查询每个学生及其选修课程的情况。
select cs . sno , course .* from cs , course where cs . cno =course . cno(36)查询选修2号课程且成绩在90分以上的所有学生的学号、姓名select sno , sname from student wheresno =( select sno from cs where cno =2 and cj >90)(37)查询每个学生的学号、姓名、选修的课程名及成绩selectstudent .sno , sname , course . course , cs . cjfrom student ,course ,cs wherestudent .sno =cs . sno and cs . cno =course . cno (38)查询与“刘晨”在同一个系学习的学生(分别用嵌套查询和连接查询)')连接查询(39)查询选修了课程名为“信息系统”的学生学号和姓名(40)查询其他系中比信息系任意一个(其中某一个)学生年龄小的学生姓名和年龄(41) 查询其他系中比信息系所有学生年龄都小的学生姓名及年龄。
分别用ALL 胃词和集函数----用 ALL selectsname , age fromstudentwhereage vail (select age ')---- 聚合函数 from student where dept='信息系select sname ,age from student where age < (select min ( age ) from studentwheredept ='信息系')(42)查询所有选修了 1号课程的学生姓名。
(分别用嵌套查询和连查询)---- 嵌套查询select sname from student where snoin(select snofrom cs wherecno =1)---- 连接查询select sname from student ,cswhere student.sno =cs . snoand cs . cno : =1(43)查询没有选修1号课程的学生姓名(44)查询选修了全部课程的学生姓名。
(45)查询至少选修了学生95002选修的全部课程的学生号码select distinct sno from sc scx where not exists(select * from cs scy where scy .sno ='95002' and not exists(select * from sc scz where scz .sno =scx . sno and scz .cno =scy .cno ))(46)查询计算机科学系的学生及年龄不大于19岁的学生的信息。
(47)查询选修了课程1或者选修了课程2的学生的信息。
(48)查询计算机科学系中年龄不大于19岁的学生的信息。
select * from student where age <= 19 and dept ='计算机科学系'(49)查询既选修了课程1又选修了课程2的学生的信息select * from student where sno in(select sno from cs where cno ='003' and sno in( select sno from cs where cno = '004'))---- 用exists 查询select * from student where exists (select * from cs where student .sno =cs . sno and cno ='003' and sno in(select sno from cs where cno = '004'))(50)查询计算机科学系的学生与年龄不大于19岁的学生的差集。
select * from student where dept ='计算机科学系'and age >19(51)通过查询求学号为1学生的总分和平均分。
select sum( cj ) as '总分',avg ( cj )'平均分'from cs where sno =1(52)求出每个系的学生数量select dept , count (sno ) as '学生个数'from student group by dept(53)查询平均成绩大于85的学生学号及平均成绩。
select sno , avg ( cj ) from cs group by sno having avg ( cj )> 85(54)要求查寻学生的所有信息,并且查询的信息按照年龄由高到低排序,如果年龄相等,则按照学号从低到高排序1.在SELECT 语句中DISTINCT、ORDER BY、GROUP BY 和HAVING 子句的功能各是什么?答各子句的功能如下。