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数据库期末考试题及答案一、选择题(每题2分,共20分)1. SQL语言中,用于创建新表的语句是:A. SELECTB. INSERTC. CREATED. DROP答案:C2. 在SQL中,以下哪个关键字用于删除表?A. REMOVEB. DROPC. DELETED. REMOVE TABLE答案:B3. 如果要查询所有学生的姓名和成绩,应该使用以下哪个SQL语句?A. SELECT * FROM students;B. SELECT name, score FROM students;C. SELECT name FROM students;D. SELECT score FROM students;答案:B4. SQL中用于更新记录的关键字是:A. UPDATEB. CHANGEC. MODIFYD. ALTER答案:A5. 在SQL中,哪个关键字用于指定查询结果的输出顺序?A. ORDERB. SORTC. ORDER BYD. ASC答案:C6. 以下哪个选项是SQL中用于删除数据的语句?A. DELETEB. DROPC. REMOVED. ERASE答案:A7. 在SQL中,用于连接两个或多个表的关键字是:A. JOINB. UNIONC. INTERSECTD. CROSS答案:A8. SQL中用于添加新记录的关键字是:A. INSERTB. ADDC. CREATED. NEW答案:A9. 以下哪个选项是SQL中用于分组数据的关键字?A. GROUPB. GROUP BYC. CATEGORIZED. CLASSIFY答案:B10. 在SQL中,用于计算总和的函数是:A. COUNTB. SUMC. AVGD. MAX答案:B二、填空题(每题2分,共20分)1. SQL中,用于_________数据的语句是SELECT。

答案:查询2. 如果需要在查询结果中排除重复的行,可以使用关键字_________。

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

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

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

)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( 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考试题及答案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中的______语句用于删除表。

sql考试题及答案

sql考试题及答案

sql考试题及答案一、选择题1. SQL是什么意思?a. Structured Query Languageb. Sequential Query Languagec. Structured Question Languaged. Sequential Question Language答案:a. Structured Query Language2. 下列哪个关键词用于在SQL中创建新表?a. UPDATEb. INSERTc. CREATEd. SELECT答案:c. CREATE3. 在SQL中,用于查找符合一定条件的记录的关键词是?a. SELECTb. UPDATEc. INSERTd. DELETE答案:a. SELECT4. 在SQL中,如何在表中添加新的数据?a. INSERT INTOb. ADD INTOc. UPDATEd. MODIFY答案:a. INSERT INTO5. 在SQL中,如何删除表中的数据?a. DELETE ROWb. REMOVEc. DELETE FROMd. ERASE FROM答案:c. DELETE FROM二、填空题1. SQL中用于选择所有列的通配符是______。

答案:*2. SQL中用于指定唯一键的关键词是______。

答案:PRIMARY KEY3. SQL中用于按照某一列对结果进行排序的关键词是______。

答案:ORDER BY4. SQL中用于更新数据的关键词是______。

答案:UPDATE5. SQL中用于计算某一列的总和的函数是______。

答案:SUM三、简答题1. 请解释SQL中的JOIN操作。

答案:JOIN操作用于连接两个或多个表,基于表之间的关联关系获取相关数据。

常用的JOIN类型包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。

2. 什么是SQL注入?如何防止SQL注入?答案:SQL注入是一种恶意的攻击方式,通过在用户输入的数据中插入恶意的SQL代码,以获取、修改或删除数据库中的数据。

sql笔试题及答案

sql笔试题及答案

sql笔试题及答案1. 题目1:查询员工表中工资大于5000的员工信息,并按照工资降序排列。

答案:SELECT * FROM 员工表 WHERE 工资 > 5000 ORDER BY 工资DESC;解析:使用SELECT语句查询员工表中满足工资大于5000的记录,并使用ORDER BY子句按照工资字段降序排列。

2. 题目2:统计订单表中每个客户的订单总数,并按照订单总数升序排列。

答案:SELECT 客户, COUNT(订单编号) AS 订单总数 FROM 订单表GROUP BY 客户 ORDER BY 订单总数 ASC;解析:使用SELECT语句查询订单表中每个客户的订单总数,并使用GROUP BY子句按照客户字段进行分组,COUNT函数用于统计订单编号,AS关键字用于为统计结果起别名,ORDER BY子句按照订单总数字段升序排列。

3. 题目3:查询学生表中不重复的学生姓名和对应的年龄。

答案:SELECT DISTINCT 学生姓名, 年龄 FROM 学生表;解析:使用SELECT DISTINCT语句查询学生表中不重复的学生姓名和对应的年龄。

4. 题目4:查询订单表中订单金额最大的订单信息。

答案:SELECT * FROM 订单表 WHERE 订单金额 = (SELECT MAX(订单金额) FROM 订单表);解析:使用SELECT语句查询订单表中订单金额等于最大订单金额的订单信息,使用子查询和MAX函数找出最大订单金额。

5. 题目5:查询销售表中每个月份的总销售金额。

答案:SELECT DATE_FORMAT(销售日期, '%Y-%m') AS 月份, SUM(销售金额) AS 总销售金额 FROM 销售表 GROUP BY DATE_FORMAT(销售日期, '%Y-%m');解析:使用SELECT语句查询销售表中每个月份的总销售金额,使用DATE_FORMAT函数将销售日期格式化成年月的形式,并使用SUM函数统计销售金额,使用GROUP BY子句按照月份进行分组。

sql期末考试题及答案

sql期末考试题及答案

sql期末考试题及答案SQL期末考试题及答案一、选择题(每题2分,共20分)1. SQL代表什么?A. Structured Query LanguageB. Simple Query LanguageC. Standard Query LanguageD. Streamline Query Language答案:A2. 在SQL中,用于查询数据的命令是什么?A. SELECTB. INSERTC. UPDATED. DELETE答案:A3. 下列哪个不是SQL的数据类型?A. INTB. CHARC. IMAGED. DATE答案:C4. SQL中的主键约束是什么?A. 唯一性约束B. 非空约束C. 默认值约束D. 检查约束答案:A5. SQL语句中,用于插入数据的命令是什么?A. SELECT INTOB. INSERT INTOC. UPDATED. DELETE答案:B6. 下列哪个不是SQL中的聚合函数?A. COUNTB. AVGC. SUMD. DISTINCT答案:D7. SQL中的外连接是什么?A. INNER JOINB. LEFT JOINC. RIGHT JOIND. OUTER JOIN答案:D8. SQL中的事务是什么?A. 一组SQL语句的集合B. 一个数据库表C. 一个数据库视图D. 一个数据库索引答案:A9. SQL中的视图是什么?A. 一个数据库表B. 一个数据库索引C. 一个虚拟的数据库表D. 一个数据库存储过程答案:C10. SQL中的存储过程是什么?A. 一组预先编写好的SQL语句B. 一个数据库表C. 一个数据库视图D. 一个数据库触发器答案:A二、简答题(每题5分,共30分)1. 解释SQL中的主键和外键的区别。

答案:主键是表中用来唯一标识每条记录的字段,不能有重复值,也不能为NULL。

外键是一个表中的字段,它对应于另一个表的主键,用于维护两个表之间的链接。

SQL复习题(附部分答案)

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语句中使⽤聚合函数时,可以在后⾯使⽤⑴ 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是⼀个()的数据库系统。

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

方法
select top 6 * from tb_Course where (TID not in (select top 4 TID from tb_Course ORDER BY TID)) ORDER BY TID
select top 6 * from tb_Course where (TID > (select MAX(TID) from (select top 4 TID tb_Course ORDER BY TID) as T)) ORDER BY TID
--③
查询sql最高分的学生编号,学生姓名及分数。
select a.[SID],a.SName,b.SCore from tb_Student a
join (select [SID],SCore from tb_Score where SCore=
(select MAX(SCore)
from tb_Score where CID=(select CID from tb_Course
order by Score desc)
--这里with ties 表示可以包含并列的行
--⑩
查询c#课程比sql课程的考试分数高的学生编号及姓名。
select [SID],Sname from tb_Student where [SID] in
名)。 3 写一种分页的存储过程。 5. 将第3 题的查询⑧⑨两题写成视图,然后执行查询视图。(10
分) 6. 创建存储过程,在存储过程里创建事务,执行删除课程表的行
时,同时删除成绩表的相应行。(10分) 7. 创建触发器,实现删除教师表的行时,同时删除课程表的相应
行。(首先删除相应表的约束)(10分)
--⑥ect * from tb_Teacher select * from tb_Score
select * from tb_Course select * from tb_Student
select [SID],SName from tb_Student where [SID] not
select * from tb_Course
insert into tb_Score values(1,1,80) insert into tb_Score values(1,2,70) insert into tb_Score values(1,3,70) insert into tb_Score values(1,4,70)
insert into tb_Teacher values(1,'于老师') insert into tb_Teacher values(2,'於老师') insert into tb_Teacher values(3,'雷老师')
select * from tb_Teacher
insert into tb_Course values(1,'VF课程',1) insert into tb_Course values(2,'VB课程',2) insert into tb_Course values(3,'C#课程',3) insert into tb_Course values(4,'SQL课程',3)
name='db_Student.mdf', filename='D:\db_Student.mdf', size=10mb, maxsize=unlimited, filegrowth=10% ) log on( name='db_Student.ldf', filename='D:\db_Student.ldf', size=2mb, maxsize=unlimited, filegrowth=10% ) go use db_Student
--课程表 if exists(select * from sysobjects where name='tb_Course') drop table tb_Course go create table tb_Course(
CID int primary key, CName varchar(20), TID int foreign key references tb_Teacher(TID) )
2. 给表添加一些数据。(10分) 3. 完成下列查询:(30分) 1 查询姓李的老师有多少位。 2 查询c#课程的平均分。 3 查询sql最高分的学生编号,学生姓名及分数。 4 查询sql课程超平均分的学生姓名及分数。 5 查询没有考sql的学生编号及姓名。 6 查询没有学王老师课程的学生编号及姓名。 7 查询课程表的第5到第10条记录,条件为编号不连续。写两种方
from
--⑧
查询每个学生的编号,姓名,课程名称,成绩,老师信
息。
select b.[SID],b.SName,ame,a.Score,d.TName from
tb_Score a ,tb_Student b,tb_Course c,tb_Teacher d
where a.[SID]=b.[SID] and a.CID=c.CID and
c.TID=d.TID
--⑨
查询c#考试成绩前三名的学生,包含并列的行。(可能查
询的结果超过三行)
select * from tb_Student where [SID] in
(select top 3 with ties [SID] from tb_Score where
CID=(select CID from tb_Course where CName='c#课程')
--教师表 if exists(select * from sysobjects where name='tb_Teacher') drop table tb_Teacher go create table tb_Teacher(
TID int primary key, TName varchar(10) )
--第题
--①
查询姓李的老师有多少位
select COUNT(*) from tb_Teacher where TName like
'李%'
--②
查询c#课程的平均分
select AVG(SCore) C#课程平均分 from tb_Score where
CID=(select CID from tb_Course where CName='c#课程')
法。 8 查询每个学生的编号,姓名,课程名称,成绩,老师信息。 9 查询c#考试成绩前三名的学生,包含并列的行。(可能查询的结果
超过三行) 10 查询c#课程比sql课程的考试分数高的学生编号及姓名。 4. 写存储过程完成下列问题,并写出存储过程执行语句:(15分) 1 根据学生编号查询学生的各科成绩及所教课程的老师 2 根据教师编号,查询所教课程(教师编号,姓名,课程编号,课程
CID int foreign key references tb_Course(CID), Score float )
--第题 insert into tb_Student values(1,'张山',18,0) insert into tb_Student values(2,'李四',16,1) insert into tb_Student values(3,'王五',21,1) insert into tb_Student values(4,'傻笑',20,0) select * from tb_Student
--学生表 if exists(select * from sysobjects where name='tb_Student') drop table tb_Student go create table tb_Student(
[SID] int primary key, SName varchar(10), Sage int, SSex bit )
--成绩表 if exists(select * from sysobjects where name='tb_Score') drop table tb_Score go create table tb_Score(
[SID] int foreign key references tb_Student([SID]),
用sql语句完成下面题目: 1. 创建数据库db_Student,在db_Student中创建四张表:
学生表tb_Student,字段:SID(编号),SName(姓名),Sage(年龄),SSex(性别) 教师表tb_Teacher,字段:TID(编号),TName(姓名) 课程表tb_Course,字段:CID(编号),CName(名称),TID(教师编号) 成绩表tb_Score,字段:SID(编号),CID(课程编号),Score(成绩) 要求:分析添加约束,如:主键约束,外键约束等(15分)
where CName='SQL课程')) –(这里可直接 用 order by 查询)
and CID=(select CID from tb_Course where
CName='SQL课程')) b
on a.[SID]=b.[SID]
--④
查询sql课程超平均分的学生姓名及分数。
select a.Sname,b.Score from tb_Student a join
程'))) b on a.[SID]=b.[SID]
--⑤
查询没有考sql的学生编号及姓名
相关文档
最新文档