SQL基础测试题目2
sql 五十题
sql 五十题以下是一些SQL练习题,共50题:1. 什么是SQL?2. 什么是关系型数据库?3. 什么是主键?4. 什么是外键?5. 什么是索引?6. 什么是查询?7. 什么是插入操作?8. 什么是更新操作?9. 什么是删除操作?10. 什么是聚合函数?11. 什么是分组操作?12. 什么是排序操作?13. 什么是联接操作?14. 什么是子查询?15. 什么是视图?16. 什么是存储过程?17. 什么是触发器?18. 如何使用WHERE子句进行过滤?19. 如何使用ORDER BY子句进行排序?20. 如何使用GROUP BY子句进行分组?21. 如何使用HAVING子句进行分组过滤?22. 如何使用JOIN操作联接表?23. 如何使用聚合函数SUM、AVG、MIN、MAX?24. 如何使用聚合函数COUNT、COUNT()和COUNT(列名)的区别?25. 如何使用子查询嵌套查询?26. 如何创建视图并查询视图数据?27. 如何创建存储过程并调用存储过程?28. 如何创建触发器并触发触发器?29. 如何使用INSERT INTO语句插入数据?30. 如何使用UPDATE语句更新数据?31. 如何使用DELETE语句删除数据?32. 如何使用TRUNCATE TABLE语句清空表数据?33. 如何使用UNION操作符合并多个查询结果?34. 如何使用UNION ALL操作符合并多个查询结果(包括重复行)?35. 如何使用IN操作符筛选符合条件的多个值?36. 如何使用LIKE操作符进行模糊查询?37. 如何使用NOT操作符进行否定筛选?38. 如何使用BETWEEN操作符筛选范围值?39. 如何使用EXISTS操作符检查子查询结果是否存在?40. 如何使用NOT EXISTS操作符检查子查询结果是否存在(否定筛选)?41. 如何使用CASE语句进行条件判断和值转换?42. 如何使用DISTINCT关键字去除查询结果的重复行?43. 如何使用LIMIT关键字限制查询结果的行数?44. 如何使用JOIN操作连接多个表并筛选数据?45. 如何使用INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN的区别和用法?46. 如何使用视图提高查询效率和维护数据安全性?47. 如何使用存储过程存储复杂的业务逻辑和重复使用的查询语句?48. 如何使用触发器自动执行特定事件或数据修改操作?49. 如何优化SQL查询性能,提高数据库的响应速度?50. 如何安全地管理和维护数据库,确保数据的完整性和可靠性?。
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基础知识考核试题_V2.0
SQL基础知识考核试题考试时间:30分钟姓名:___________ 成绩:___________一、单选题(共8题,每题5分)1.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是(D )。
A)Replace salary with salary+200B) Update teacher salary with salary+200C) Update set salary with salary+200D) Update teacher set salary=salary+2002.使用sql语句进行分组检索时,为了去掉不满足条件的分组,应当(B )。
A)使用WHERE子句B)在GROUP BY后面使用HA VING 子句C)先使用WHERE子句,再使用HA VING 子句D)先使用HA VING 子句,再使用WHERE子句3.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的详细信息,并按照定单金额(order_price)降序排列。
正确的语句是(B )。
A) a) Select * from order where [order_price] between 1000 and 5000order by [order_price] ASCB) b) Select * from order where [order_price] between 1000 and 5000order by [order_price] DESCC) c) Select * from order where 1000<[order_price]<5000 order by [order_price] ASCD) d) Select * from order where 1000<[order_price]<5000 order by [order_price] DESC4.表的两种相关约束是? (C)A)主键和索引B)外键和索引C)主键和外键D)内键和外键5.在oracle中下列哪个表名是不允许的(D)。
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基础测试2
SQL基础理论测评姓名得分一、填空题(10*2分)1:SQL中定义变量的关键字:2:多表连接有(请在横线上,写出对应的关键字)左连接右连接内连接3:获取系统日期和时间的函数:4:关系模型的数据操纵即是建立在关系上的数据操纵,一般有__ _ 、、和四种操作。
5:sql sever 2005中删除表的命令是删除表中字段值的命令是6:sql sever 2005中order by [字段名] 后跟表示升序,跟表示降序7:在结果集中过滤掉重复的记录使用关键字:8:SQLServer中表间的关系有:、、9:多表查询中定义表的别名的关键字是。
10:sql中数据类型转换函数和二、判断题(10*2)1、sql server 2005 查询结果中不能存在相同的字段名。
()2、sql server 2005 存储过程没有返回值。
()3、sql server 2005 函数只能返回一个数值。
()4、convert不能把时间类型转换成字符型。
()5、master和tempdb都是SQLServer2005 的系统数据库。
()6、sql server 2005中不等于可以用<> 和!= 都可以。
()7、sql中没有货币类型。
()8、在查询语句中系统最先执行的操作是搜索当前系统查询所使用的表,所以最先执行的语句是FROM 子句。
()9、存储过程要比单纯的Sql 语句执行起来要快。
()10、sql sever 中获取字符串长度的函数为:lenstr。
()三、简答题(5*12)1.【SQL】用SQL语句,描述下列内容:获取客户端主机名:生成错误消息,抛出异常:自增列:获取上一次执行行数:保存表中字段信息的系统表表名:2【SQL】.新建一个函数F_判断是否是平年输入参数:@时间varchar(20)(格式:2010-07-09)输出内容:闰年或平年3、【SQL】完成下列SQL语句(用一句SQL语句完成)。
字符串‘SQL语言’占用的字节长度:删除字符串‘SQL语言’的前导空格:对字符串‘SQL语言’,从第2个开始截,截2个字符:将字符串‘sQL’全部转换成大写:计算字符串‘s,q,,l, ,s,e,l,ver,,, ’中, 的个数:4、写出以下常用聚合函数?例如:求和sum()求平均值求最大值求最小值返回所有行数5、有表student(id,name,score);1)根据分数列(score)查询不及格的人员名单;2)根据分数列(score)查询学生的考试等级;(60以下:不及格,60-75:及格,75-90:良好,90分以上:优秀)。
sql入门试题
sql入门试题SQL(Structured Query Language)是用于管理和操作关系数据库的标准化查询语言。
以下是一组SQL 入门试题,旨在测试对基本SQL 查询语句的理解和应用。
一、选择题1.下列哪个是SQL 的关键字?– A. SELECT– B. PRINT– C. SEARCH– D. FIND2.在SQL 中,用于从表中检索数据的命令是?– A. RETRIEVE– B. SELECT– C. GET– D. EXTRACT3.SQL 中用于过滤结果的子句是?– A. WHERE– B. FROM– C. SELECT– D. ORDER BY4.在SQL 中,用于按照某一列对结果进行排序的子句是?– A. GROUP BY– B. ORDER BY– C. SORT BY– D. ARRANGE BY5.在SQL 中,用于将结果按照某一列进行分组的子句是?– A. GROUP BY– B. ORDER BY– C. SORT BY– D. ARRANGE BY二、填空题6.编写一个SQL 查询,从"Employees" 表中选择所有员工的名字和薪水。
SELECT Name, SalaryFROM Employees;7.编写一个SQL 查询,从"Products" 表中选择产品的名称和价格,并按价格从高到低排序。
SELECT ProductName, PriceFROM ProductsORDER BY Price DESC;8.编写一个SQL 查询,统计"Orders" 表中订单的总数。
SELECT COUNT(*) AS TotalOrdersFROM Orders;9.编写一个SQL 查询,找到"Customers" 表中不重复的城市数量。
SELECT COUNT(DISTINCT City) AS UniqueCitiesFROM Customers;三、简答题10.解释SQL 中的WHERE 子句的作用。
sql基础语法 试题
以下为你提供一些关于SQL基础语法试题:1. 写出查询一个名为students的表中所有数据的SQL语句。
2. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出查询所有订单数量大于5的产品的SQL语句。
3. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出查询工资大于5000的所有员工的SQL语句。
4. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出查询名字为"John"的所有客户的SQL语句。
5. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出查询价格在10到50之间的所有产品的SQL语句。
6. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出插入一条新订单的SQL语句,订单号为101,产品名为"Apple",数量为10。
7. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出更新工资为6000的员工信息(假设员工ID为1)的SQL语句。
8. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出删除名字为"John"的客户的SQL语句。
9. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出删除价格为20的产品(假设产品ID为1)的SQL语句。
sql数据库考试题库
sql数据库考试题库SQL数据库考试题库一、选择题(每题2分,共20分)1. SQL代表什么?A. Structured Query LanguageB. Simple Query LanguageC. Standard Query LanguageD. None of the above2. 在SQL中,用来查询数据的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE3. 下列哪个不是SQL数据类型?A. INTB. DATEC. TEXTD. IMAGE4. 以下哪个SQL语句用于删除表?A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. ERASE TABLE5. 在SQL中,用来插入数据的关键字是:A. INSERT INTOB. ADD INTOC. CREATE INTOD. PUT INTO6. 以下哪个是SQL的聚合函数?A. AVG()B. AVERAGE()C. MEAN()D. SUM()7. SQL中的主键是什么?A. 一个表中唯一的字段B. 一个表中可以有多个的字段C. 一个表中不允许重复的字段D. 一个表中可以有多个的字段,但它们必须一起是唯一的8. SQL中的外键是什么?A. 一个表中与另一个表的字段相关联的字段B. 一个表中与自身字段相关联的字段C. 一个表中不允许为空的字段D. 一个表中可以为空的字段9. 在SQL中,用来更新数据的关键字是:A. UPDATEB. MODIFYC. CHANGED. ALTER10. SQL中的事务是什么?A. 一组SQL语句,要么全部执行,要么全部不执行B. 一个单独的SQL语句C. 一个数据库D. 一个表二、填空题(每题2分,共20分)11. SQL中的________是用来定义和修改数据库结构的语言。
12. 在SQL中,使用________语句可以添加新的数据行到表中。
SQL 数据库基础考试
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测试题和答案在进行SQL数据库开发时,进行一些测试是非常重要的。
通过测试,我们可以验证数据库的正确性,保证数据的一致性,并且提前发现和解决潜在的问题。
本文将提供一些常见的SQL测试题目,并且给出相应的答案,帮助读者更好地理解SQL语言的使用和测试方法。
一、题目1:查询订单表中购买数量最多的商品名称和购买数量。
答案:```sqlSELECT product_name, MAX(quantity) AS max_quantityFROM ordersGROUP BY product_name;```二、题目2:查询每个部门的平均工资和人数,结果按平均工资降序排列。
答案:```sqlSELECT department, AVG(salary) AS avg_salary, COUNT(*) AS num_employeesFROM employeesGROUP BY departmentORDER BY avg_salary DESC;```三、题目3:查询没有订单的客户名称和联系方式。
答案:```sqlSELECT customer_name, contact_numberFROM customersWHERE customer_id NOT IN (SELECT DISTINCT customer_idFROM orders);```四、题目4:查询每个国家的订单数和总销售额,并按总销售额降序排列。
答案:```sqlSELECT country, COUNT(*) AS num_orders, SUM(total_amount) AS total_salesFROM ordersGROUP BY countryORDER BY total_sales DESC;```五、题目5:查询购买了所有商品的客户名称和联系方式。
答案:```sqlSELECT customer_name, contact_numberFROM customersWHERE customer_id IN (SELECT customer_idFROM ordersGROUP BY customer_idHAVING COUNT(DISTINCT product_name) = (SELECT COUNT(DISTINCT product_name)FROM products));```六、题目6:查询每个部门的最高工资和最低工资。
sql数据库基础知识笔试题
sql数据库基础知识笔试题
SQL数据库基础知识是数据库管理的重要组成部分,下面是一些SQL数据库基础知识的笔试题:
1. 什么是SQL?它的作用是什么?
2. 什么是数据库?数据库的常见类型有哪些?
3. 什么是表?表的结构是怎样的?
4. 什么是主键?它的作用是什么?
5. 什么是外键?它和主键有什么区别?
6. 什么是SQL查询语句?常见的SQL查询语句有哪些?
7. 什么是SQL约束?它有哪些类型?
8. 什么是SQL函数?常见的SQL函数有哪些?
9. 什么是SQL连接?它有哪些类型?
10. 什么是SQL索引?它的作用是什么?
以上是一些常见的SQL数据库基础知识笔试题,希望能帮助你对SQL数据库有更深入的了解。
如果你对这些问题有任何疑问,欢迎继续向我提问。
sql语句基础题
sql语句基础题好的,以下是几个基础的SQL 语句题目:1. 查询所有学生信息:sql复制代码:SELECT * FROM students;2. 查询名为"张三" 的学生信息:sql复制代码:SELECT * FROM students WHERE name = '张三';3. 查询年龄大于20 岁的学生信息:sql复制代码:SELECT * FROM students WHERE age > 20;4. 查询年龄小于等于20 岁的学生信息:sql复制代码:SELECT * FROM students WHERE age <= 20;5. 查询年龄等于20 岁的所有学生信息,但名字不为"李四":sql复制代码:SELECT * FROM students WHERE age = 20 AND name != '李四';6. 查询名字中包含"王" 字的学生信息:sql复制代码:SELECT * FROM students WHERE name LIKE '%王%';7. 查询年龄在18 到25 岁之间的学生信息:sql复制代码SELECT * FROM students WHERE age BETWEEN 18 AND 25;8. 查询名字为"张三" 或"李四" 的学生信息:sql复制代码:SELECT * FROM students WHERE name IN ('张三', '李四');9. 查询名字为"张三" 但年龄不是20 岁的学生信息:sql复制代码:SELECT * FROM students WHERE name = '张三' AND age != 20;10. 查询所有学生的平均年龄:sql复制代码:SELECT AVG(age) FROM students;。
sql基础考试题及答案
sql基础考试题及答案一、单项选择题(每题2分,共10分)1. SQL代表什么?A. Structured Query LanguageB. Standard Query LanguageC. Simple Query LanguageD. Structured Question Language答案:A2. 在SQL中,哪个命令用于创建新表?A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:A3. SQL中的主键是什么?A. 可以有多个值的列B. 可以为空值的列C. 表中每行的唯一标识符D. 用来排序数据的列答案:C4. 如何在SQL查询中选择所有列?A. SELECT *B. SELECT ALLC. SELECT ALL COLUMNSD. SELECT ALL FIELDS答案:A5. SQL中的LIKE操作符用于什么?A. 计算数值B. 进行算术比较C. 搜索列中的指定模式D. 连接两个或多个表答案:C二、多项选择题(每题3分,共15分)1. 下列哪些是SQL中的聚合函数?A. COUNTB. AVGC. SUMD. MAX答案:A, B, C, D2. 在SQL中,哪些关键字用于数据的更新?A. INSERTB. UPDATEC. DELETED. SELECT答案:B, C3. 下列哪些是SQL中用于数据检索的子句?A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:A, B, C, D4. 在SQL中,哪些操作符用于比较?A. =B. <>C. >D. <=答案:A, B, C, D5. 下列哪些是SQL中的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:A, B, C, D三、填空题(每题2分,共10分)1. SQL中的________关键字用于删除表。
sql考试题及答案
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测试题和答案.docx
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测试题SQL(Structured Query Language)是一种用于管理和处理关系型数据库的编程语言。
在使用SQL进行数据查询、插入、更新和删除等操作时,正确的语法和优化的查询语句对于保证数据库的稳定性和性能至关重要。
下面是一些常见的SQL测试题,帮助您巩固和提升SQL技能。
题目一:查询语句练习1. 查询所有学生的姓名和年龄:```sqlSELECT 姓名, 年龄 FROM 学生表;```2. 查询2019年的所有订单信息,包括订单号、客户姓名和订单日期:```sqlSELECT 订单号, 客户姓名, 订单日期 FROM 订单表 WHERE 订单日期 >= '2019-01-01' AND 订单日期 <= '2019-12-31';```3. 查询已交付的订单总数和总金额:```sqlSELECT COUNT(*) AS 订单总数, SUM(订单金额) AS 总金额FROM 订单表 WHERE 状态 = '已交付';```题目二:数据过滤和排序1. 查询年龄在20岁以下的学生的姓名和年龄,并按年龄升序排序:```sqlSELECT 姓名, 年龄 FROM 学生表 WHERE 年龄 < 20 ORDER BY年龄 ASC;```2. 查询性别为女性且籍贯为北京的学生的姓名、性别和籍贯:```sqlSELECT 姓名, 性别, 籍贯 FROM 学生表 WHERE 性别 = '女' AND籍贯 = '北京';```3. 查询商品订单数量最多的前5名客户的姓名和订单数量:```sqlSELECT 客户姓名, COUNT(*) AS 订单数量 FROM 订单表 GROUP BY 客户姓名 ORDER BY 订单数量 DESC LIMIT 5;```题目三:数据更新和删除1. 将学生表中年龄大于25岁的学生的籍贯设置为上海:```sqlUPDATE 学生表 SET 籍贯 = '上海' WHERE 年龄 > 25;```2. 删除订单表中状态为取消的订单:```sqlDELETE FROM 订单表 WHERE 状态 = '取消';```3. 将学生表中姓名为"张三"的学生的年龄增加1岁:```sqlUPDATE 学生表 SET 年龄 = 年龄 + 1 WHERE 姓名 = '张三';```题目四:表关联和数据统计1. 查询订单表中每个客户的订单总金额:```sqlSELECT 客户姓名, SUM(订单金额) AS 总金额 FROM 订单表GROUP BY 客户姓名;```2. 查询每个商品分类下订单数量最多的商品的名称和订单数量:```sqlSELECT 分类, 商品名称, COUNT(*) AS 订单数量 FROM 商品表JOIN 订单表 ON 商品表.商品编号 = 订单表.商品编号 GROUP BY 分类, 商品名称 ORDER BY 订单数量 DESC;```3. 查询每个学生的姓名和所报课程的数量:```sqlSELECT 学生表.姓名, COUNT(*) AS 课程数量 FROM 学生表 LEFT JOIN 课程表 ON 学生表.学号 = 课程表.学号 GROUP BY 学生表.学号;```以上是一些SQL测试题,通过练习这些题目,您可以加深对于SQL语法和操作的理解,提升您的SQL技能。
SQL基础测试试卷答案
SQL基础测试试卷答案技能测试试卷姓名:________________ 评分:________________一、单项选择题:(每小题2分,共30分)1.【SQL】模式查找like '_a%',下面哪个结果是可能的( D )A.ailiB. abcC.bcaD. cab2.【SQL】有关T-SQL中变量的使用,以下说法错误的是(B)。
A 变量的使用必须先声明,后使用。
B 变量的赋值只能使用set语句。
C 可以使用print语句和select语句输出结果。
D 局部变量的命名必须以@打头。
3. 【SQL】select 3/2*10的结果( A)。
A.10B.15C.20D.304.【SQL】在表中使用IDENTITY列时,每张表只允许有( A)IDENTITY列A.1个B.2个C.3个D.n个5.【SQL】在一个表中可以建立( A)个索引A. 1B.大于1个C.0D.不能建索引6.【SQL】在(A,D)的列上更适合创建索引。
(选择两项)A 需要对数据进行排序B 具有默认值C 频繁更改D 频繁搜索7.【Delphi】Delphi中有序数据类型包括( D )A. 整数类型、布尔类型、记录类型和子界类型B. 整数类型、字符类型、子界类型和集合类型C. 整数类型、字符类型、布尔类型和实数类型D. 整数类型、字符类型、布尔类型、子界类型和枚举类型8.【Delphi】Delphi中表达式IntT oStr(65)+'4.3'的值是(C)A. 69.3B. 65C. 654.3D. 4.3659. 【Delphi】下列窗体事件中,(B)事件在创建和显示窗体时不会被自动触发。
A. OnShowB. OnClickC. OnCreateD. OnActivate10. 【Delphi】要给菜单项分组,可以添加一个菜单项并设置它的Caption属性值为(C )。
A.空格B./C.-D.&11. 【SQL】sql中求表stu(user,name,mail)中一共有多少行,错误的写法:( C )A.SELECT count(*) from stuB. SELECT count(1) from stuC. SELECT count(mail) from stuD. SELECT count(isnull(user,1)) from stu12. 【SQL】A表15行数据,B表20行,使用inner join 连接时,可产生(D)的数据 A.15行或<15行 B 。
sql基础考试题
sql基础考试题当涉及 SQL 基础考试题时,通常包括基本的 SQL 查询、表操作和条件筛选。
以下是一些 SQL 基础考试题的示例:查询所有列和所有行:SELECT * FROM table_name;查询指定列的所有行:SELECT column1, column2 FROM table_name;条件筛选:sqlCopy codeSELECT * FROM table_name WHERE condition;排序:sqlCopy codeSELECT * FROM table_name ORDER BY column_name;聚合函数:sqlCopy codeSELECT COUNT(column_name) FROM table_name;去重:sqlCopy codeSELECT DISTINCT column_name FROM table_name;连接表:sqlCopy codeSELECT column1, column2 FROM table1 INNER JOIN table2 ON table1.id = table2.id;更新数据:sqlCopy codeUPDATE table_name SET column1 = value1 WHERE condition;插入数据:sqlCopy codeINSERT INTO table_name (column1, column2) VALUES (value1, value2);删除数据:sqlCopy codeDELETE FROM table_name WHERE condition;这些是基础的 SQL 查询和操作语句。
具体的考试题目可能会涉及更复杂的查询、子查询、联合查询等内容,具体取决于考试的难度和范围。
希望这些例子对你的 SQL 基础考试有所帮助。
SQL基础试题
SQL基础试题(总分90分,考试时间:90分钟)姓名以下用SQL语句完成1. 建表Employee与Training,分析表1和表2的结构,自行设置主键,写出建表语句。
(10分)2. 用SQL语句把上述两表的数据插入建好的表中,分别用一条SQL语句完成(随意选择一条数据)(10分)3. 修改表2,加入备注字段(memo)。
(5分)4. 统计出各部门的人数和各部门姓“李”的人数。
(10分)5. 列出所有员工参加培训的情况,要求显示EID,Name,Department,Course,用一条SQL语句完成。
(5分)6. 选出未参加培训的人员名单,按表1的格式显示,用一条SQL语句完成。
(5分)7. 更新员工的Email,规则为:员工所在部门名称加员工姓名再加“@”,用一条SQL语句完成。
(5分)8. 列出所有各课成绩最高的员工信息,要求显示EID,Name,Department,Course,Grade,用一条SQL语句完成。
(5分)9. 把所有表2有但表1没有的员工编号插入到表1中,用一条SQL语句完成。
(5分)10. 统计各门课程成绩各分数段人数:课程ID,课程名称,[100-85],[84-70],[69-60],[<60] (10分)11. 开发一个存储过程proc_get_emp_info要求如下:输入参数:i_eid员工号输出参数:o_retno响应码o_info员工名字、部门和工作(中间用竖线分割)处理逻辑:根据输入的账号,查询其他字段的信息并返回,如果存在该账号,o_retno字段为0,同时在o_info字段返回对应的客户号和客户姓名;如果输入的账号不存在,o_retno返回1,o_info为“NOTFOUND”,如果处理过程中发生异常,o_retno返回-1,o_info存放具体的异常信息。
(20分)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL基础测试题目1、完成查询如下表显示,显示全部学生的信息,按照学生编号的升序排列,对同一学号按照课程名称的字母顺序显示。
代码:select s.studno,studname,t.coursename,grade from student s left outer join (select sc.studno,c.coursename,grade from score sc,course c where sc.courseid = c.courseid)ton s.studno = t.studno order by s.studno,coursename asc;2、查询显示单科最高成绩代码:select student.studno, student.studname,coursename,grade fromstudent ,course,(select s.studno,s.courseid,s.grade from score s,(select courseid ,max(grade) max_g from score group by courseid )t where s.courseid = t.courseid and s.grade = t.max_g)t1where student.studno = t1.studno and t1.courseid = course.courseid3、查询显示学生课程及格还是不及格select a.studno, a.studname, b.coursename,case when grade >= 60 then'及格'else'不及格'endfrom student a , course b , score cwhere a.studno = c.studno and b.courseid = c.courseid;4、统计学生选科的数量select stu.studno,stu.studname,ount from student stu left outer join (select st.studno,st.studname,ount from student st,(select stu.studno,count(stu.coursename) ccount from(select s.studno,s.studname,c.coursename from student s,course c,score s1 where s.studno=s1.studno andc.courseid=s1.courseid)stu group by stu.studno)bb wherest.studno=bb.studno)ccon stu.studno=cc.studno;5、查询单科成绩超过课程平均成绩的学生的信息,列出学生编号,学生姓名,课程名称和课程成绩代码:select stu.studno,stu.studname,cc.coursename,dd.grade from student stu,course cc,(select sc.studno,bb.courseid,sc.grade from score sc,(select avg(tt.grade)aavg,tt.courseid from(select stu.studno,stu.studname, cc.coursename,sc.courseid,sc.grade from student stu, score sc,course ccwhere stu.studno=sc.studno and sc.courseid=cc.courseid)tt group bytt.courseid)bb where sc.courseid=bb.courseidand sc.grade>bb.aavg)dd where stu.studno=dd.studno and cc.courseid=dd.courseid6、查询显示需要补考的学生的学生编号,学生姓名和课程名称代码:select a.studno, a.studname,c.gradefrom student a , score cwhere c.grade<60 and a.studno = c.studno;7、统计各科成绩平均分,显示课程编号,课程名称,平均分。
代码:select co.courseid,co.coursename,cc.aavge from course co,(select bb.courseid,avg(bb.grade)aavge from(select cc.courseid,cc.coursename,sc.grade from course cc,score sc where sc.courseid=cc.courseid)bb group by(bb.courseid))cc whereco.courseid=cc.courseid;8、查询选修了java课程的学生信息代码:select st.studno,st.studname,cc.coursename, sc.grade from studentst,course cc,score scwhere st.studno=sc.studno and cc.courseid=sc.courseid andcoursename='JAVA';9、查询没有选修JA V A课程的学生信息代码:select st.studno,st.studname,cc.coursename, sc.grade from student st,course cc,score sc where st.studno=sc.studno andcc.courseid=sc.courseid and coursename<>'JAVA';10、查询选修了教师李可课程的学生信息select stu.studno,stu.studname from student stu,(select tt.studno from courseplan tt where tt.teachid=(select tea.teachid from teacherinfo tea where tea.teachname='李可'))bb where stu.studno=bb.studno;11、查询同时选修了A01和A02这两门课的学生的上课安排,显示学生编号,学生姓名、班级编号、课程编号、授课教师、上课日期代码:selectstu.studno,stu.studname,stu.batchcode,cc.courseid,tea.teachname,co.co ursedt from student stu, course cc,courseplan co,teacherinfo tea where stu.studno=co.studno and cc.courseid=co.courseid andtea.teachid=co.teachid and(cc.courseid='A01'or cc.courseid='A02'); 12、查询96571班都有哪些课程,在什么时间有哪位教师授课select stu.batchcode,cc.courseid,cc.coursename,co.coursedt,tea.teachname fromstudent stu,course cc,courseplan co,teacherinfo tea,batch ba where co.courseid=cc.courseid and co.teachid=tea.teachid andstu.studno=co.studno and stu.batchcode=ba.batchcode andba.batchcode=96571;13、查询周一不上课的班级select batchcode from student stu ,(select studno from courseplan where coursedt <>'周一')tt where stu.studno=tt.studno;14、查询周四上课的教师姓名select plann.teachid, teachname from courseplan plann,teacherinfo tea where plann.teachid=tea.teachid and plann.coursedt='周四';15、查询A02课程的授课教师和上课时间select tea.teachname,plann.courseid, plann.coursedt from courseplan plann,teacherinfo tea where plann.teachid=tea.teachid andplann.courseid='A02'16、统计各个科目不及格人数占这个科目考生人数的百分比select tt.courseid,(convert(float,tt.coun)/convert(float,bb.coun))*(100/100) percentage from(select count(studno)coun ,courseid from score group by courseid ) bb,(select count(studno)coun ,courseid from score where grade<60 group by courseid ) tt where bb.courseid=tt.courseid17、统计所有不及格人数占考生总数的百分比select(convert(float,summ.couu)/convert(float,sc.cou)) percenteage from(select count(studno)couu from score where grade<60)summ,(select count(studno) cou from score) sc;18、查询单科成绩在90分以上的学生是哪个班级的,授课教师是谁?select stu.studname,batchname,sc.courseid,tea.teachname from student stu,courseplan plann,teacherinfo tea, score sc,batch bt wherestu.batchcode=bt.batchcode and stu.studno=sc.studno andplann.teachid=tea.teachid and sc.studno=plann.studno and sc.grade>90 19、查询工业工程班的授课教师都是谁?select tea.teachname from batch ba,student stu,courseplanplann,teacherinfo tea where ba.batchcode=stu.batchcode andstu.studno=plann.studno and plann.teachid=tea.teachid and ba.batchnamelike'工业工程%班';20、查询1068号学生在什么时间都有课?select id.studname,id.batchcode,co.courseid,co.coursedt from(select*from student stu where stu.studno=1068) id, courseplan co whereid.studno=co.studno;21、查询哪些同学的考试成绩都在90分以上select distinct stu.studno,studname from student stu,score sc where stu.studno=sc.studno and grade>90;22、查询同时代课超过两门课程的教师select tt.teachid, tea.teachname from teacherinfo tea,(selectteachid ,count(courseid)ccount from courseplan group by teachid)tt where ount>2 and tea.teachid=tt.teachid23、汇总各个学生考试成绩的总分,并排名次。