SQL综合练习部分参考答案
SQL基础知识题库100道及答案(完整版)
![SQL基础知识题库100道及答案(完整版)](https://img.taocdn.com/s3/m/62e3e3b66394dd88d0d233d4b14e852458fb39dc.png)
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考试题及答案](https://img.taocdn.com/s3/m/05c67a5717fc700abb68a98271fe910ef02dae03.png)
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语句练习题 部分答案](https://img.taocdn.com/s3/m/a171cec90c22590102029d7e.png)
1、用SQL语句建立以下四个表:供应商表S表:S(SNO,SNAME,STATUS,CITY)零件表P表:P(PNO,PNAME,COLOR,WEIGHT)工程表J表:J(JNO,JNAME,CITY)供应情况表SPJ表:SPJ(SNO,PNO,JNO,QTY)2、针对第1题的四表,用SQL语言完成下列查询1)求供应工程J1零件的供应商号码SNO。
SELECT SNO FROM SPJ WHERE JNO=”JI”2)求供应工程J1零件P1的供应商号码SNO。
SELECT SNO FROM SPJ WHERE JNO=”JI” AND PNO=”P1”3)求供应工程J1零件为红色的供应商号码SNO。
●SELECT SNO FROM SPJ,P WHERE JNO=”JI”AND SPJ.PNO=P.PNOAND P.COLOR=”红色”●SELECT SNO FROM SPJ WHERE JNO=”JI”AND PNO IN (SELECT PNO FROM P WHERE COLOR=”红色”)3、针对第1题的四表,用SQL语言完成下列查询1)求出所有供应商的姓名及其所在城市。
SELECT SNAME,CITY FROM S2)找出所有零件的名称、颜色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P3)找出使用供应商S1所供应零件的工程项目代码。
SELECT JNO FROM SPJ WHERE SNO=”JI”4)找出工程项目J2所使用的各种零件的名称及其数量。
SELECT P.PNAME,SPJ.QTY FROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=”J2”5)找出上海厂商供应的所有零件的代码。
SELECT DISTINCT PNO FROM SPJWHERE SNO IN(SELECT SNO FROM S WHERE CITY=”上海”)6)找出所有使用上海产的零件的工程项目名。
sql考试题及答案
![sql考试题及答案](https://img.taocdn.com/s3/m/a95b62614a35eefdc8d376eeaeaad1f34693119e.png)
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数据库参考答案](https://img.taocdn.com/s3/m/2ccf8baabcd126fff7050bcd.png)
1、反映现实世界中实体及实体间联系的信息模型是( )。
【正确答案: D】A 关系模型B 层次模型C 网状模型D E-R模型2.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据3.扩展名为mdf的文件是【正确答案: A】A 主数据文件B 次数据文件C 日志文件D 项目文件4.下列四项中,不属于数据库特点的是( ) 【正确答案: C】A 数据共享B 数据完整性C 数据冗余很高D 数据独立性高5.数据库管理系统的英文缩写是()。
【正确答案: D】A DBB DBSC DBAD DBMS6.视图是从一个或多个表中或视图中导出的()【正确答案: A】A 表B 查询C 报表D 数据7. update语句来更新表中的数据,一次可以更新( ).【正确答案: D】A 一行B 多行C 一行和多行D 多个8.以下不属于聚合函数的是()【正确答案: A】)A insert ;B max()C min()D sum()9.不是SQL Server中所包含的约束种类的是() 【正确答案: A】A 关键字约束C 唯一性约束D 默认约束10.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中( )【正确答案: B】A 属性名都不相同B 去掉了重复的数据C 行都不相同D 属性值都不相同11.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据12. DELETE语句来删除表中的数据,一次可以删除()【正确答案: c】A 一行B 多行C 一行和多行D 多个13.视图是从一个或多个表或试图中导出的()【正确答案: C】A 报表B 查询C 表D 数据14.()包含用于恢复数据库的日志信息。
【正确答案: B】A 数据库文件;B 事物日志文件;C 文件组;D 次文件组15.下列运算符中表示一个或多个任意字符的是( ).【正确答案: B】A *B %C LIKED _16.()是SQL Server中最重要的管理工具【正确答案: A】A 企业管理器B 查询分析器C 服务管理器D 事件探察器17.修改和删除数据库中数据的语句。
SQL练习题参考答案(2)
![SQL练习题参考答案(2)](https://img.taocdn.com/s3/m/483ab1d128ea81c758f578c7.png)
第2章 SQL Server简介练习题一、单项选择题1.B 2.C 3.D 4.B 5.C6.D 7.C 8.C 9.B 10.A11.B 12.B二、简答题1.答:客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。
客户机上的任务只要有:●建立和断开与服务器的连接。
●提交数据访问请求。
●等待服务通告、接受请求结果或错误。
●处理数据库访问结果或错误、包括重发请求和终止请求。
●提供应用程序的友好用户界面。
●数据输入输出及验证。
服务器上的任务主要有:●为多用户管理一个独立的数据库。
●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。
●管理用户帐号、控制数据库访问权限和其他安全性。
●维护数据库,包括数据库备份和恢复。
保证数据库数据的完整或为客户提供完整性控制手段。
2.答:(1)两层结构在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。
众多的客户机通过网络直接访问数据库服务器。
客户机运行处理业务的程序和显示处理结果的程序。
两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。
(2)三层结构在三层结构中引入了一层应用服务器。
客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。
三层结构适用于客户量较大的情况。
3.答:SQL Server 2000的四个系统数据库是master、model、msdb和tempdb数据库。
(1)master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。
SQL复习题(附部分答案)
![SQL复习题(附部分答案)](https://img.taocdn.com/s3/m/7377d430182e453610661ed9ad51f01dc2815733.png)
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是⼀个()的数据库系统。
SQL数据库题库及答案
![SQL数据库题库及答案](https://img.taocdn.com/s3/m/4ff366eb0342a8956bec0975f46527d3240ca6a0.png)
SQL数据库题库及答案⼀、单项选择题,请将正确答案填在括号⾥。
1、()是位于⽤户与操作系统之间的⼀层数据管理软件.A、数据库管理系统B、数据库系统C、数据库D、数据库应⽤系统2、要想使SQL Server2000数据库管理系统开始⼯作,必须⾸先启动()。
A、数据导⼊和导出程序B、查询分析器C、⽹络实⽤⼯具D、SQL Server服务器3、SQL Server 的登录账户信息保存在()数据库中。
A、masterB、modelC、 msdbD、tempdb4、以下哪个数据库⾓⾊中拥有可以执⾏所有数据库⾓⾊的活动的权限? ( )A、publicB、db_ownerC、db_security adminD、db_access admin5、下列关于数据库的数据⽂件叙述错误的是()。
A 、创建数据库时必须指定数据⽂件B 、创建数据库时, PRIMARY ⽂件组中的第⼀个⽂件为主数据⽂件C 、⼀个数据库可以有多个数据⽂件D 、⼀个数据库只能有⼀个主数据⽂件6、创建约束的命令是()。
A、CREATE TABLEB、ALTER CONSTRAINTC、ALTER TABLED、ALTER COLUMN7、下列有关批的叙述中正确的是()。
A、批是⼀起提交处理的⼀组语句B、通常⽤GO来表⽰⼀个批的结束C、不能在⼀个批中引⽤其它批定义的变量D、批可长可短,在批中可以执⾏任何T-SQL语句8、下⾯关于聚集索引和⾮聚集索引说法正确的是()。
A、每个表只能建⽴⼀个⾮聚集索引B、⾮聚集索引需要较多的硬盘空间和内存C、⼀张表上不能同时建⽴聚集和⾮聚集索引D、⼀个复合索引只能是聚集索引9、下列命令不能执⾏的是()。
A、 SELECT * FROM [select]B、 SELECT * FROM @MyTableC、 SELECT * FROM [MyTable]D、 SELECT * FROM MyTable10、并发操作会带来的数据不⼀致性有()。
SQL试题及答案
![SQL试题及答案](https://img.taocdn.com/s3/m/35fb12bfd05abe23482fb4daa58da0116c171fb2.png)
SQL试题及答案一、选择题1. 以下哪个SQL语句用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:A2. 在SQL中,以下哪个操作符用于比较两个值是否相等?A. =B. ==C. ===D. !=答案:A3. 以下哪个SQL语句用于从数据库中删除表?A. DROP TABLEB. DELETE TABLEC. DROP DATABASED. DELETE DATABASE答案:A二、填空题1. 在SQL中,用来查询数据库中表的记录的语句是__________。
答案:SELECT2. 在SQL中,用来插入新记录到表的语句是__________。
答案:INSERT INTO3. 在SQL中,用来更新表中现有记录的语句是__________。
答案:UPDATE三、简答题1. 简述SQL中的主键(Primary Key)和外键(Foreign Key)的概念。
答案:主键是表中一个或多个列的组合,用于唯一标识表中的每条记录。
一个表只能有一个主键,且主键列的值不能为空或重复。
外键是一个表中的一个列或列组合,它是另一个表的主键。
外键用于建立两个表之间的关系,确保数据的完整性。
2. 请解释SQL中的INNER JOIN和LEFT JOIN的区别。
答案:INNER JOIN(内连接)返回两个表中有匹配的记录。
如果没有匹配的记录,则不会返回任何结果。
LEFT JOIN(左连接)返回左表中的所有记录,即使右表中没有匹配的记录。
如果左表中的记录在右表中没有匹配,则结果集中右表的列将以NULL填充。
四、编程题1. 编写一个SQL查询,从“员工”表中查询所有员工的名字和部门名称,假设“员工”表有“员工ID”、“姓名”和“部门ID”列,而“部门”表有“部门ID”和“部门名称”列。
答案:```sqlSELECT 员工.姓名, 部门.部门名称FROM 员工INNER JOIN 部门 ON 员工.部门ID = 部门.部门ID;```2. 编写一个SQL查询,更新“订单”表中所有订单的价格,使其价格上涨10%。
(完整版)sql练习题+答案
![(完整版)sql练习题+答案](https://img.taocdn.com/s3/m/5629596d1a37f111f0855b1c.png)
(一) 新建以下几个表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岁以下的学生姓名及其年龄。
MySQL数据库系统及应用综合练习
![MySQL数据库系统及应用综合练习](https://img.taocdn.com/s3/m/5586787cf111f18583d05a8f.png)
一、单项选择题 (只有一个正确答案)【1】执行语句“SELECT '2008-01-20'+ INTERVAL 2 DAY; ”结果为A: 2008-01-22B: 2010-01-20C: 2008-02-11D: 2008-03-20答案: A【2】下列哪个是不正确的MySQL的变量命名方式A: @_nameB: @n$ameC: @nameD: @name!答案: D【3】字符串‘hel’lo’输出结果为A: hel'loB: 'hello'C: hel\'loD: 'hel lo'答案: A【4】关系数据库模型是以下哪种方式组织数据结构A: 树状B: 文本C: 二维表D: 网状答案: C【5】使用下列哪个语句可以删除表中所有数据,但保留表结构A: truncate tableB: rename tableC: deleteD: drop talbe答案: A【6】 E-R图设计属于()。
A: 概念结构设计B: 物理结构设计C: 逻辑结构设计D: 需求分析设计答案: B【7】执行语句“GREATEST(10,9,128,1)”结果为()。
A: 9B: 10C: 128D: 1答案: C【8】在一个关系中,若有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,则称这个属性为A: 数据项B: 候选码C: 主键D: 主键值答案: C【9】数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作。
这种功能称为()。
A: 数据控制功能B: 数据操纵功能C: 数据管理功能D: 数据定义功能答案: B【10】 1999年10月1日在mysql中表示方法错误的是:A: "1999-10-01"B: "1999%10%01"C: "1999\10\01"D: "1999/10/01"答案: D【11】两个表中的行按照给定的条件进行拼接而形成新表的运算为A: 连接B: 投影C: 集合D: 选择答案: A【12】向表中插入一个行新的纪录的命令为A: replace intoB: insert intoC: replace fromD: insert from答案: B【13】 \n在MySQL中表示A: "B: 退格符C: 回车符D: 换行符答案: D【14】执行语句“SELECT '5' = '5ab';”结果为A: 0B: NULLC: FalseD: 1答案: A【15】显示所有错误的命令A: show variablesB: show warringsC: show errorsD: show databases答案: C【16】下列哪项不属于数据库模型的:A: 逻辑B: 网状C: 关系D: 层次答案: A【17】修改数据库的命令为:A: alter databaseB: Create databaseC: use databaseD: drop database答案: A【18】创建表的命令为:A: Create tableB: alter tableC: drop tableD: rename table答案: A【19】删除表的命令为()。
sql考试题及答案
![sql考试题及答案](https://img.taocdn.com/s3/m/a8957275590216fc700abb68a98271fe910eaf35.png)
sql考试题及答案一、选择题1. 在SQL中,用于查询一个表中的所有记录的关键字是什么?A. SELECT ALLB. SELECT *C. SELECT DISTINCTD. SELECT TOP 10答案:B2. 下列哪个SQL语句用于添加新的数据行到表中?A. INSERT INTOB. ADD INTOC. CREATE INTOD. NEW INTO答案:A3. 在SQL中,用于删除表中的记录的关键字是什么?A. REMOVEB. DELETEC. ERASED. DROP答案:B4. 下列哪个函数用于计算字段中所有值的总和?A. COUNTB. SUMC. AVGD. MAX答案:B5. 如果你想更新表中的记录,应该使用哪个SQL语句?A. UPDATEB. ALTERC. MODIFYD. CHANGE答案:A二、填空题1. 在SQL中,________关键字用于从一个或多个表中选择数据。
答案:SELECT2. 要为表中的数据设置条件过滤,应使用________子句。
答案:WHERE3. 当需要对查询结果进行排序时,可以使用________关键字。
答案:ORDER BY4. 如果需要对表中的数据进行分组,应使用________关键字。
答案:GROUP BY5. 为了对分组后的结果进行筛选,可以使用________子句。
答案:HAVING三、简答题1. 请简述SQL中的主键和外键的区别。
答案:主键是表中用于唯一标识每条记录的字段,它不允许重复值和NULL值。
外键则是一个表中的字段,它是另一个表的主键的引用,用于建立表之间的联系。
外键可以有重复值,也可以为NULL。
2. 解释SQL中的JOIN操作。
答案:JOIN操作是SQL中用于结合两个或多个表中的数据的查询操作。
通过JOIN,可以根据相关字段将不同表中的记录连接起来,以便进行更复杂的数据分析和查询。
3. 什么是SQL中的事务?答案:事务是SQL中一组操作的集合,这些操作要么全部成功执行,要么全部不执行。
sql数据库试题及答案
![sql数据库试题及答案](https://img.taocdn.com/s3/m/2ab590cdd1d233d4b14e852458fb770bf78a3b37.png)
sql数据库试题及答案SQL数据库试题一1. 下面哪个命令可以创建一个名为"employee"的表格?A. CREATE TABLE employee;B. NEW TABLE employee;C. ADD TABLE employee;D. INSERT TABLE employee;答案:A. CREATE TABLE employee;2. 下列哪个是SQL数据库的关键字?A. SELECTB. COLUMNC. INSERTD. ADD答案:A. SELECT3. 在SQL中,如何查询一个名为"customers"的表格的所有记录?A. SELECT * FROM customers;B. SELECT ALL FROM customers;C. SELECT RECORDS FROM customers;D. SELECT DATA FROM customers;答案:A. SELECT * FROM customers;4. 如何在SQL中向表格中插入新的记录?A. ADD NEW INTOB. UPDATE TABLEC. INSERT INTOD. CREATE NEW答案:C. INSERT INTO5. 如何根据特定条件从表格中删除记录?A. REMOVE FROMB. ERASE ROWC. DELETE FROMD. DROP RECORD答案:C. DELETE FROMSQL数据库试题二1. 下面哪个关键字可以用来对查询结果进行排序?A. GROUP BYB. SORT BYC. ORDER BYD. ARRANGE BY答案:C. ORDER BY2. 在SQL中,如何对表格的指定列进行更新?A. MODIFY COLUMNB. EDIT TABLEC. UPDATE COLUMND. ALTER TABLE答案:C. UPDATE COLUMN3. 下面哪个函数可以计算表格中指定列的平均值?A. AVG()B. SUM()C. MAX()D. COUNT()答案:A. AVG()4. 在SQL中,如何查找表格中满足特定条件的记录数量?A. GET()B. FETCH()C. SEARCH()D. COUNT()答案:D. COUNT()5. 下面哪个关键字可以用来从多个表格中联合查询数据?A. UNIONB. JOINC. CONNECTD. COMBINE答案:B. JOIN文章到此结束,希望以上SQL数据库试题及答案能帮助到您对SQL数据库的理解和学习。
SQL题库及参考答案
![SQL题库及参考答案](https://img.taocdn.com/s3/m/a2392414770bf78a64295409.png)
SQL题库1.下列四项中,不属于数据库特点的是()。
A.数据共享(查询)B.数据完整性(实体,域,引用完整性,自定义完整性)C.数据冗余很高D.数据独立性高(关系型数据库,E-R,实体(table)和了解(表和表的关联关系))2.SQL Server安装程序创建4个系统数据库,下列哪个不是()系统数据库。
A.master (系统信息比如帐号密码)B.model(模型)C.pubD.msdb(调度作业等)tempdb(临时数据和存储过程)3.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS(数据库管理系统)B.DBC.DBS(System 系统:DB,DBMS,DBA,用户,软硬件)D.DBA(administrator 管理员)4.下列哪个不是sql 数据库文件的后缀( )。
A..mdf(主数据文件推荐扩展名)B..ldf(log日志日志文件推荐扩展名)C..tifD..ndf(次数据文件推荐扩展名)5.数据定义语言的缩写词为( )。
A.DDL(data definintion language:create)B.DCL(data control language :select语句)C.DML(data manipulation language:insert update delete truncate)D.DBL6.数据库管理系统的英文缩写是()。
A.DBMSB.DBSC.DBAD.DB7.用于获取系统日期的函数是()。
A.YEAR():select YEAR('2012-2-2')B.GETDATE():演示C.COUNT():聚合函数之统计函数D.SUM():聚合函数之求和函数8.SQL Server系统中的所有服务器级系统信息存储于哪个数据库()。
A. masterB. modelC. tempdbD. msdb9.以下关于外键和相应的主键之间的关系,正确的是( )。
sql测试题和答案.docx
![sql测试题和答案.docx](https://img.taocdn.com/s3/m/10a56597d4bbfd0a79563c1ec5da50e2524dd1e9.png)
sql测试题和答案# SQL测试题1. 基础查询题- 题目:编写一个SQL查询,从`employees`表中选择所有员工的姓名和员工ID。
- 答案:`SELECT name, employee_id FROM employees;`2. 条件查询题- 题目:从`orders`表中选择所有订单金额超过1000的订单。
- 答案:`SELECT * FROM orders WHERE order_amount > 1000;`3. 排序题- 题目:从`products`表中选择所有产品的名称和价格,并按价格降序排列。
- 答案:`SELECT name, price FROM products ORDER BY price DESC;`4. 聚合函数题- 题目:计算`sales`表中所有销售额的总和。
- 答案:`SELECT SUM(sales_amount) AS total_sales FROM sales;`5. 分组查询题- 题目:从`sales`表中按产品ID分组,并计算每个产品的总销售额。
- 答案:`SELECT product_id, SUM(sales_amount) AStotal_sales_per_product FROM sales GROUP BY product_id;`6. 连接查询题- 题目:查询`customers`表和`orders`表,找出所有客户的姓名和他们下过的订单数量。
- 答案:`SELECT , COUNT(o.order_id) AS order_count FROM customers c JOIN orders o ON c.customer_id =o.customer_id GROUP BY ;`7. 子查询题- 题目:找出`employees`表中工资高于平均工资的员工的姓名和工资。
- 答案:`SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);`8. 多表连接查询题- 题目:查询`employees`表和`departments`表,找出所有员工的姓名、部门名称和部门ID。
SQL考试题库及答案
![SQL考试题库及答案](https://img.taocdn.com/s3/m/04d67123b207e87101f69e3143323968001cf40f.png)
SQL考试题库及答案1. 选择题:以下哪个SQL命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B2. 填空题:在SQL中,使用____关键字可以删除一个已经存在的表。
答案:DROP TABLE3. 判断题:以下SQL语句是否正确?"SELECT * FROM users WHERE name = 'John';"A. 正确B. 错误答案:A4. 简答题:解释SQL中的主键(PRIMARY KEY)是什么?答案:主键是一个或多个字段的组合,用于在数据库表中唯一标识每条记录。
一个表只能有一个主键,且主键的值不能为NULL。
5. 选择题:在SQL中,哪个函数用于计算表中所有记录的总数?A. COUNT(*)B. SUM(*)C. AVG(*)D. MAX(*)答案:A6. 填空题:在SQL中,使用____关键字可以更新表中的记录。
答案:UPDATE7. 判断题:以下SQL语句是否正确?"INSERT INTO customers (name, email)VALUES('Alice','*****************');"A. 正确B. 错误答案:A8. 简答题:解释SQL中的外键(FOREIGN KEY)是什么?答案:外键是一个字段(或一组字段),它在一个表中引用另一个表的主键。
外键用于建立两个表之间的关系,并确保数据的引用完整性。
9. 选择题:在SQL中,哪个命令用于删除数据库中的表?A. DELETE TABLEB. DROP TABLEC. REMOVE TABLED. CLEAR TABLE答案:B10. 填空题:在SQL中,使用____关键字可以添加一个新列到现有的表中。
答案:ALTER TABLE结束语:以上是SQL考试题库及答案,希望能够帮助考生更好地理解和掌握SQL的基本概念和操作。
大学sql试题及答案
![大学sql试题及答案](https://img.taocdn.com/s3/m/a8368b6686c24028915f804d2b160b4e777f8141.png)
大学sql试题及答案一、单项选择题(每题2分,共20分)1. SQL中用于查询数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 在SQL中,用于添加新记录的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:B3. SQL中用于修改数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:C4. SQL中用于删除数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:D5. SQL中用于创建新表的语句是:A. CREATE TABLEB. INSERT INTOC. UPDATE TABLED. DROP TABLE答案:A6. 在SQL中,哪个关键字用于指定查询结果中列的别名?A. ASB. FROMC. WHERED. SELECT答案:A7. SQL中用于指定查询条件的关键字是:A. SELECTB. FROMC. WHERED. INTO答案:C8. SQL中用于连接两个或多个表的关键字是:A. JOINB. UNIONC. INTERSECTD. EXCEPT答案:A9. 在SQL中,用于分组数据的关键字是:A. GROUP BYB. ORDER BYC. HAVINGD. LIMIT答案:A10. SQL中用于排序查询结果的关键字是:A. GROUP BYB. ORDER BYC. HAVINGD. LIMIT答案:B二、多项选择题(每题3分,共15分)1. 在SQL中,以下哪些关键字用于数据定义语言(DDL)?A. CREATEB. INSERTC. DROPD. ALTER答案:A, C, D2. 在SQL中,以下哪些关键字用于数据操纵语言(DML)?A. SELECTB. INSERTC. UPDATED. DELETE答案:A, B, C, D3. 在SQL中,以下哪些关键字用于数据控制语言(DCL)?A. GRANTB. REVOKEC. COMMITD. ROLLBACK答案:A, B4. 在SQL中,以下哪些语句可以用于数据的聚合操作?A. COUNTB. SUMC. AVGD. MAX答案:A, B, C, D5. 在SQL中,以下哪些关键字用于查询优化?A. INDEXB. JOINC. WHERED. GROUP BY答案:A, B, C, D三、填空题(每题3分,共30分)1. SQL中的________关键字用于创建新数据库。
SQL试题精选及答案
![SQL试题精选及答案](https://img.taocdn.com/s3/m/2ab9b222326c1eb91a37f111f18583d048640f7b.png)
SQL试题精选及答案1. 请写出SQL中创建新表的语句。
答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。
答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。
4. 写出SQL中更新表中数据的语句。
答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。
答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。
7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。
8. 请写出SQL中创建索引的语句。
答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。
10. 请解释SQL中的主键和外键。
答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。
11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。
12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。
13. 请写出SQL中插入数据的语句。
答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。
SQL语言(综合) 课堂练习和习题
![SQL语言(综合) 课堂练习和习题](https://img.taocdn.com/s3/m/a2e8c6280722192e4436f60a.png)
SQL语言课堂练习和习题一、选择题1. SQL语言是( )的语言,容易学习.A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE,DELETE等.其中最重要的,也是使用最频繁的语句是( ) .A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是( ) .A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询,数据操纵,数据定义和数据控制功能于一体,其中,CREATE,DROP,ALTER语句是实现哪种功能( ).A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是( ).A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的( ) .A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,( )不是数据定义语句.A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用( ).A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用( ).A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S( S#,Sname,Sex,Age),S的属性分别表示学生的学号,姓名,性别,年龄.要在表S中删除一个属性"年龄",可选用的SQL语句是( ).A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S 'Age'11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE).其中S#是学生号,SNAME 是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称.要查询选修"ACCESS"课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句.这里的WHERE子句的内容是( ).A. S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME='ACCESS'B. S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in 'ACCESS'C. SAGE in>=20 and CNAME in 'ACCESS'D. SAGE>=20 and CNAME=' ACCESS'12. 设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100.若要把"张二的化学成绩80分"插入S中,则可用( ).A. ADD INTO S V ALUES('张二','化学','80')B. INSERT NTO S V ALUES('张二','化学','80')C. ADD INTO S V ALUES('张二','化学',80)D. INSERT INTO S V ALUES('张二','化学',80)13. 设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100.若要更正王二的化学成绩为85分,则可用( ) .A. UPDATE S SET grade=85 WHERE SN='王二' AND CN='化学'B. UPDATE S SET grade='85' WHERE SN='王二' AND CN='化学'C. UPDATE grade=85 WHERE SN='王二' AND CN='化学'D. UPDATE grade='85' WHERE SN='王二' AND CN='化学'14. 在SQL语言中,子查询是( ) .A. 返回单表中数据子集的查询语言B. 选取多表中字段子集的查询语句C. 选取单表中字段子集的查询语句D. 嵌入到另一个查询语句之中的查询语句15. SQL是一种( )语言.A. 高级算法B. 人工智能C. 关系数据库D. 函数型16. 有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE).其中S#是学生号,SNAME是学生姓名,SEX是性别, C#是课程号,CNAME是课程名称.要查询选修"数据库"课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句.这里的WHERE子句的内容是( ).A.S.S# = SC.S# and C.C# = SC.C# and SEX='男' and CNAME='数据库'B.S.S# = SC.S# and C.C# = SC.C# and SEX in'男'and CNAME in'数据库'C.SEX '男' and CNAME ' 数据库'D.S.SEX='男' and CNAME=' 数据库'17. 若用如下的SQL语句创建了一个表SC:CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,( )行可以被插入.A.('201009','111',60,必修)B.('200823','101',NULL,NULL)C.(NULL,'103',80,'选修')D.('201132',NULL,86,' ')18. 假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE).要查询选修"Computer"课的男生姓名,将涉及到关系( ).A. SB. S,SCC. C,SCD. S,C,SC19.SQL Server2000的字符型系统数据类型主要包括()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
针对学生课程选课数据库进行以下操作
create database student
use student
go
t_student( s_number CHAR(10) primary key,
Sname CHAR(20) ,
Ssex CHAR(2) ,
Birthday CHAR(10),
polity CHAR(5)
sage int DEFAULT 20,
sdept CHAR(20) )
t_course(
c_number char(10) PRIMARY KEY,
c_name Char(30) NOT NULL,
hours int,
credit int CHECK(Ccredit>0),
)
t_score(
s_number CHAR(10) NOT NULL,
c_number CHAR(10) NOT NULL,
score int, CHECK(([grade] >= 0 and [grade] <= 100))
PRIMARY KEY (Sno,Cno),
FOREIGN KEY(Sno) REFERENCES t_student(s_number),
FOREIGN KEY(Cno) REFERENCES t_course(c_number) )
查看表关系图,使用“数据库” 属性页中的“文件”,在“所有者”中输入有效的数据库登录名。
1、查询t_student表中的所有记录的s_name和sage列。
2、查询学生所有的系别即不重复的sdept列。
3、查询t_student表的所有记录。
4、查询全体学生的出生年份和性别,并给出生年份列命名为“BIRTHDAY”。
select year(getdate())-year(birthday)BIRTHDAY,sex from t_student
5、查询t_score表中分数大于85分的学生学号。
略
6、查询t_score表中成绩在60到80之间的所有记录。
select*from t_score where score between 60 and 80
7、查询t_score表中成绩为85,86或88的记录。
select*from t_score where score in(85,86,88)
8、查询Student表中不姓“王”的同学记录。
select*from t_student where s_name not like'王%'
9、查询全校同学名字中第二个字为“小”的同学的具体情况。
select*from t_student where s_name like'_小%';
11、查询学生表中姓赵、钱、孙、李的同学。
select*from t_student where Sname like'[赵钱孙李]%';
12、查询t_score表中没有成绩的同学的学号。
select*from t_score where score is NULL
13、查询t_student表中“数学系”或性别为“女”的同学记录。
(复合条件查询,集合查询两种方式)
略。
14、查询计算机系男生的具体情况。
使用where子句,略。
15、以年龄降序查询t_student表的所有记录。
使用order by 子句,略。
16、以c_number升序、score降序查询t_score表的所有记录。
select*from t_score order by c_number,score desc
17、查询所有学生的s_name、c_name和score列。
(连接查询,嵌套查询两种方式)
三张表的联合查询,略。
18、查询所有选修“单片机原理”课程的同学的姓名和成绩。
(连接查询,嵌套查询)
连接查询:
select s_name,score
from t_student a,t_course b,t_score c
where a.s_number=c.s_number and b.c_number=c.c_number and b.c_name='单片机原理'
嵌套查询:
select s_name,score
from t_student a,t_score b
where a.s_number=b.s_number and b.c_number IN
(select c_number from t_course where c_name ='单片机原理') 19、查询和“李海”同性别的同学的姓名. (嵌套查询)
select s_name from t_student where sex=(select sex from t_student where s_name='李海')
20、查询所有同学的基本情况和选课情况,包括未选课的同学。
(外连接查询)delete from t_score where s_number='B0451109'
select a.s_number,s_name,b.c_number,score
from t_student a left outer join t_score b on a.s_number=b.s_number
21、查询选修10010218号课程且成绩高于80分的同学的名字。
select s_name from t_student,t_score
where t_student.s_number=t_score.s_number
and c_number='10010218'and score>80
24、查询非数学系的比计算机系所有学生的年龄都大的学生姓名。
(用ANY,ALL)SELECT S_NAME FROM t_STUDENT
WHERE SDEPT<>'数学系'AND SAGE >ALL
(SELECT SAGE FROM T_STUDENT WHERE SDEPT='数学系');
25、查询存在有85分以上成绩的课程c_number.
SELECT DISTINCT c_number FROM t_score WHERE score>85 26、查询数学系同学的人数。
select count(*)from t_student where sdept='数学系'
27、查询数学系同学所选课程的平均分。
select AVG(score)from t_score,t_student where
t_score.s_number=t_student.s_number and sdept='数学系'
28、查询t_student表中年龄最大和最小的同学的具体情况。
select*from t_student
where sage=(select max(sage)from t_student)or sage=(select min(sage)from t_student)
29、查询最高分同学的s_number、c_number列
select s_number,c_number from t_score
where score=(select max(score)from t_score)
30、查询10010218号课程的平均分。
select c_number,AVG(score)
from t_score
group by c_number
having c_number='10010218'
31、查询选修了10010218号课程且成绩比该课程平均成绩低的同学的学号和
成绩。
select s_number,score
from t_score a
where c_number ='10010218'
and score<
(select AVG(score)from t_score b group by c_number having c_number='10010218')
32、查询选修了10010218号课程或30020215号课程的同学的学号。
(复合条件查询,集合查询)
select distinct s_number from t_score where c_number='10010218'or c_number='30020215'
注意:由于
33、查询各个课程号及相应的选课人数。
select c_number,count(*)from t_score group by c_number
34、查询选修了3门以上课程且总分大于200分的同学的学号。
select s_number from t_score group by s_number having count(*)>=3 and sum(score)>200。