SQL练习题
SQL练习题一.选择题:1 检索职工表中工资大于800元的职工号,正确的命令是() A、SELECT 职工号 WHERE 工资>800 B、SELECT 职工号 FROM 职工 SET 工资>800 C、SELECT 职工号 FROM 职工 WHERE 工资>800 D、SELECT 职工号 FROM 职工 FOR 工资>8002 找出在仓库面积大于500的仓库中工作的职工号,以及这些职工工作所在的城市,正确的命令是() A、SELECT 职工号,城市 FROM 职工;WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) B、SELECT 职工号,城市 FROM 职工;WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号) C、SELECT 职工号,城市 FROM 仓库,职工;WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) D、SELECT 职工号,城市 FROM 仓库,职工;WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号)3 利用SQL语句,检索仓库中至少有一名职工的仓库信息,正确的命令是() A、SELECT * FROM 仓库表 WHERE IN;(SELECT 仓库号 FROM 职工表) B、 SELECT * FROM 仓库表 WHERE NOT IN;(SELECT 仓库号 FROM 职工表) C、 SELECT * FROM 仓库表 WHERE 仓库号EXISTS;(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号) D、 SELECT * FROM 仓库表 WHERE EXISTS;(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号)4 从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是() A、 SELECT 单价>100000 FROM 设备表 FOR 设备名称 B、 SELECT 设备名称FROM 设备表 FOR单价>100000 C、SELECT 单价>100000 FROM 设备表 WHERE 设备名称 D、SELECT 设备名称 FROM 设备表 WHERE 单价>1000005 为设备表增加一个“设备总金额N(10,2)”字段,正确的命令是() A、ALTER TABLE 设备表 ADD FIELDS 设备总金额N(10,2) B、ALTER TABLE 设备表 ADD 设备总金额N(10,2) C、ALTER TABLE 设备表 ALTER FIELDS 设备总金额N(10,2) D、ALTER TABLE 设备表 ALTER 设备总金额N(10,2)6 利用SQL数据更新功能,自动计算更新每个“设备总金额”字段的字段值,该字段值等于“单价*设备数量”的值,正确命令为() A、 UPDATE 设备表 SET 设备总金额=单价*设备数量 B、UPDATE 设备表 FOR 设备总金额=单价*设备数量C、 UPDATE 设备表 WITH 设备总金额=单价*设备数量 D、UPDATE 设备表 WHERE 设备总金额=单价*设备数量7 有如下SQL语句:SELECT 使用部门,SUM(单价*设备数量)AS 总金额 FROM 设备表;WHERE .NOT.(进口);GROUP BY 使用部门执行该语句后,第一条记录的“总金额”字段值是() A、196000 B、143000 C、294000 D、172008 SQL的查询结果可以存放到多种类型的文件中,下列都可以用来存放查询结果的文件类型是( ) A、临时表、视图、文本文件 B、数组、永久性表、视图 C、永久性表、数组、文本文件 D、视图、永久性表、文本文件9 语句“DELETE FROM 成绩表 WHERE 计算机<60”的功能是() A、物理删除成绩表中计算机成绩在60分以下的学生记录 B、物理删除成绩表中计算机成绩在60分以上的学生记录 C、逻辑删除成绩表中计算机成绩在60分以下的学生记录D、将计算机成绩低于60分的字段值删除,但保留记录中其它字段值10 关于SQL的超联接查询,说法错误的是() A、在SQL中可以进行内部联接、左联接、右联接和全联接 B、SQL的超联接运算符“*=”代表左联接,“=*”代表右联接 C、Visual FoxPro同样支持超联接运算符“*=”和“=*” D、利用全联接,即使两个表中的记录不满足联接条件,也会在目标表或查询结果中出现,只是不满足条件的记录对应部分为NULL11 在SQL语句中,表达式“工资BETWEEN 1220 AND 1250”的含义是() A、工资>1220.AND.工资<1250 B、工资>1220.OR.工资<1250 C、工资>=1220.AND.工资<=1250 D、工资>=1220.OR.工资<=125012 SQL语句中修改表结构的命令是() A、ALTER TABLE B、MODIFY TABLE C、ALTER STRUCTURE D、MODIFY STRUCTURE13 删除表的SQL命令是() A、DROP TABLE B、DELETE TABLE C、ERASE TABLED、KILL TABLE14 在SQL语句中用于分组的短语是() A、MODIFY B、ORDER BY C、GROUP BY D、SUM15 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、REPLACE 职工 SET 工资=工资+100 B、UPDATE 职工 SET 工资=工资+100 C、EDIT 职工 SET 工资=工资+100 D、CHANGE 职工 SET 工资=工资+10016 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、UPDATE 职工 SET 工资 WITH 工资+100 B、UPDATE 工资=工资+100 FOR 职工 C、UPDATE 工资 WITH 工资+100 FOR 职工 D、UPDATE 职工 SET 工资=工资+10017 SQL语言的核心是() A、数据查询 B、数据定义 C、数据操纵 D、数据控制18 SQL除了数据查询的功能,还有() A、数据定义 B、数据操纵 C、数据控制 D、以上答案均正确19 下列关于SQL语言特点叙述错误的是() A、SQL是一种一体化的语言 B、SQL是一种高度过程化的语言 C、SQL语言非常简洁 D、SQL语言可以直接以命令方式交互使用,也可嵌入到程序中使用20 在Visual FoxPro中,SQL没有提供() A、数据查询功能 B、数据定义功能 C、数据操纵功能 D、数据控制功能21 标准的SQL基本查询语句的结构是() A、SELECT FROM ORDER BY B、SELECT WHERE GROUP BY C、SELECT WHERE HAVING D、SELECT FROM WHERE22 在SQL SELECT中,要将查询结果进行排序,应该使用短语 A、ORDER BY B、GROUP BY C、COUNT D、SUM23 嵌套查询命令中的IN相当于() A、等号(=) B、集合运算符(∈) C、加号(+) D、减号(-)24 在SQL查询中,HAVING字句的作用是() A、指出分组查询的范围 B、指出分组查询的值 C、指出分组查询的条件 D、指出分组查询的字段25 下列利用空值查询的命令是,正确的一项是() A、IS NULL B、=NULL C、NULL D、SELECT NULL26 下列关于别名和自联接的说法中,正确的是() A、SQL语句允许在WHERE 短语中为关系定义别名 B、为关系定义别名的格式为:<别名><关系名> C、在关系的自联接操作中,别名是必不可少的 D、以上说法均正确27 Visual FoxPro的SQL SELECT语句的联接格式能实现联接表的个数为() A、一个表 B、两个表 C、三个表 D、任意多的表28 在显示结果时,只需要显示满足条件的前几个记录,则必须使用短语() A、TOP B、BOTTOM C、PERCENT D、BY29 下列不属于SQL数据操作功能的是() A、新建表 B、添加记录 C、修改记录 D、删除记录30 下列关于INSERT SQL的叙述正确的是() A、在表末尾增加一条记录 B、在表头增加一条记录 C、在表中任意位置插入一条记录 D、在表中可插入若干条记录31 下列关于SQL对表的定义说法错误的是() A、利用CREATE TABLE语句可以定义一个新的数据表结构 B、利用SQL的表定义语句可以定义表中的主索引 C、利用SQL的表定义语句可以定义表的域完整性、字段有效性规则等 D、对于自由表的定义,SQL同样可以实现其完整性、有效性规则等信息的设置32 若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是() A、SELECT COUNT(DISTINCT 学生号) FROM 选课 B、SELECT COUNT (学生号)FROM 选课 C、SELECT COUNT(*)FROM 选课 D、SELECT COUNT(DISTINCT *)FROM 选课33 “学生表”的结构为(学生号N(4),姓名C(8),性别C(2),年龄N (2)),其中学号为主索引,下面可使用SQL INSERT插入到表中的记录是()A、(“1001”,“张力”,“男”,“18”) B、(1001,“张力”,NULL,18) C、(NULL,“张力”,“男”,18) D、(1001,张力,男,18)34 SQL语言是() A、层次数据库语言 B、网状数据库语言 C、关系数据库语言 D、对立的数据库语言35 下列查询类型中,不属于SQL查询的是() A、简单查询 B、嵌套查询 C、联接查询 D、视图查询36 SQL中可使用通配符() A、~ B、* C、? D、第二选项和第三选项37 在SQL的计算查询中,用于计数的函数是() A、SUM B、COUNT C、AVG D、MAX38 下列关于SQL嵌套查询的说法,正确的是() A、既能对外层查询排序,又能对内层查询排序 B、只能对外层查询排序,不能对内层查询排序 C、不能对外层查询排序,只能对内层查询排序 D、既不能对外层查询排序,也不能对内层查询排序39 在SQL命令中设置为全联接的短语是() A、INNER JOIN B、LEFT JOIN C、RIGHT JOIN D、FULL JOIN40 如果要将由表派生出的视图中的字段重新命名,需要使用的短语是() A、AS B、FOR C、WHERE D、TO41 利用SQL的CREATE命令定义一个自由表,可以定义表的() A、字段名、字段类型、字段宽度 B、字段的主索引和域完整性的约束规则 C、定义字段的有效性规则 D、以上内容均可定义42 如果要查询工资表中,基本工资在1000~2000元之间的职工记录,则下列语句正确的是() A、SELECT * FROM 工资表 WHERE 基本工资 NOT BETWEEN 1000AND 2000 B、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000~2000 C、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000 AND 2000 D、SELECT 工资表 FROM * WHERE BETWEEN 1000 AND 200043 假设有学生表和成绩表两个数据表文件,如果要查找总分在350分以上的学生姓名及名次,下列语句中正确的是() A、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).OR.(学生表.学号=成绩表.学号) B、SELECT 姓名,名次 FROM 学生表,成绩表 C、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).AND.(学生表.学号=成绩表.学号) D、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>=350).AND.(学生表.学号=成绩表.学号)44 在SQL语句中,修改表中数据的命令是() A、ALTER B、UPDATE C、DELETED、INSERT45 SQL的数据操作语言不包括() A、INSERT B、UPDATE C、DELETE D、CHANGE46 在SELECT SQL语句中,条件短语的关键字是() A、FROM B、WHERE C、FORD、CONDITION47 如果在SQL SELECT语句的ORDER BY字句中指定了DESC,则表示() A、按升序排序 B、按降序排序 C、按索引字段排序 D、错误语句48 用于显示部分查询结果的TOP短语,必须与下列()短语连用 A、WHERE B、ORDER BY C、FROM D、GROUP BY49 将两个SELECT语句的查询结果合并成一个查询结果的运算符是() A、WHEREB、JOINC、UNIOND、INTO50 在SQL的数据定义功能中,修改表结构的命令有3种,下列说法正确的是()A、3种命令格式都可以用来添加、修改和删除字段名B、3种命令格式都可以用来定义、修改和删除字段有效性规则C、3种命令格式都有各自的功能,不能将所有功能集于一种格式中D、以上说法均不正确二.填空题:1、从职工表中检索所有的工资值,将以下命令补充完整。
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练习题
五、SQL语言及查询视图(一)选择题1. 在命令窗口执行SQL命令时,若命令要占用多行,续行符是______。
A)冒号(:) B)分号(;) C)逗号(,) D)连字符(-)2. 只有满足联接条件的记录才包含在查询结果中,这种联接为______。
A)左联接B)右联接C)内部联接D)完全联接3. SQL语言是______语言。
A)层次数据库B)网络数据库C)关系数据库D)非数据库4. SELECT-SQL语句是______。
A)选择工作区语句B)数据查询语句C)选择标准语句D)据修改语句5.SQL语言是具有______的功能。
A) 关系规范化、数据操纵、数据控制B)数据定义、数据操纵、数据控制C)数据定义、关系规范化、数据控制D)数据定义、关系规范化、数据操纵6.在SQL的计算查询中,用于求平均值的函数是______。
A)A VG B)A VERAGE C)SUM D)A VER7.SQL语句中查询条件短语的关键字是______。
A) WHERE B)FOR C) WHILE D)CONDITION8.SQL的核心是______。
A)数据查询B)数据修改C)数据定义D)数据控制9.SQL中可使用的通配符有______。
A)*(星号)B)%(百分号)C)_(下划线)D)B和C10.在SQL查询时,使用WHERE子句指出的是_____。
A)查询目标B)查询结果C)查询条件D)查询视图11.SQL实现分组查询的短语是______。
A)ORDER BY B)GROUP BY C)HA VING D)ASC12.将查询结果放在数组中应使用______短语。
A)INTO CURSOR B)TO ARRAY C)INTO TABLE D)INTO ARRAY13.SQL是哪几个英文单词的缩写?A)Standard Query Language B)Structured Query LanguageC)Select Query Language D)以上都不是14.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
最全的SQL练习题(做完你就是高手)
最全的SQL练习题(做完你就是⾼⼿)最全的SQL练习题(做完你就是⾼⼿)补充作业⼀设有三个关系:S(SNO, SNAME, AGE, SEX,Sdept)SC(SNO, CNO, GRADE)C(CNO, CNAME, TEACHER)试⽤关系代数表达式表⽰下列查询:-- 1、查询学号为S3学⽣所学课程的课程名与任课教师名。
SELECT c.`name`, c.teacher FROM student_class sc LEFT JOIN `class` c ON o = c.NO WHERE sc.sno = 's3';-- 2、查询⾄少选修LIU⽼师所教课程中⼀门课的⼥⽣姓名。
select s.sname from student as s where s.sno in(select DISTINCT sc.sno from student_class as sc left join class as c on o=o where c.teacher='LIU')and s.sex=2;-- 3、查询WANG同学不学的课程的课程号。
select o from class as c where o not in(select DISTINCT o from student as s inner join student_class as sc on s.sno=sc.sno where s.sname='WANG');-- 4、查询⾄少选修两门课程的学⽣学号。
select sno, count(*) as cou from student_class group by sno having cou>=2;-- 5、查询选修课程中包含LIU⽼师所教全部课程的学⽣学号。
select sc.sno from student_class as sc INNER JOIN class as c on o=o where c.teacher='LIU';补充作业⼆三个关系同上,试⽤SQL语⾔表⽰下列查询:1、查询门门课程都及格的学⽣的学号⽅法1:提⽰:根据学号分组,就得到每个学⽣所有的课程成绩,在某个学⽣这⼀组成绩⾥,如果他所有的课程成绩都⼤于60分则输出该组学⽣的学号Select sno frome sc group by sno having min(grade)>=60;2、查询既有课程⼤于90分⼜有课程不及格的学⽣的学号⾃⾝连接:Select sno from sc where grade >90 and sno in (select sno from sc where grade<60)3、查询平均分不及格的课程号和平均成绩Select cno , avg(GRADE) from sc group by cno having avg(grade)<60查询平均分及格的课程号和课程名Select o , Cname from SC,C where o=o group by o having avg(grade)>=604、找出⾄少选修了2号学⽣选修过的全部课程的学⽣提⽰:不存在这样的课程y,学⽣2选修了y,⽽学⽣x没有选。
sql练习题
sql练习题SQL练习题在现代信息化社会中,数据的处理和管理变得愈发重要。
而SQL(Structured Query Language)作为一种用于管理和处理关系型数据库的语言,也成为了各行各业从事数据分析和管理的必备技能之一。
为了提高自己的SQL技能,我们可以通过练习题来不断巩固和提升。
练习题一:查询商品信息假设有一个商品表(Product)和一个供应商表(Supplier),其中商品表包含了商品的ID、名称、价格和供应商ID等信息,供应商表包含了供应商的ID和名称等信息。
请写出一条SQL语句,查询出所有商品的名称、价格和供应商名称。
解答一:```sqlSELECT , Product.Price, FROM ProductJOIN Supplier ON Product.SupplierID = Supplier.ID;```练习题二:统计销售额假设有一个订单表(Orders)和一个订单详情表(OrderDetails),其中订单表包含了订单的ID、日期和客户ID等信息,订单详情表包含了订单详情的ID、订单ID、商品ID和数量等信息。
请写出一条SQL语句,统计每个客户的总销售额,并按销售额降序排序。
解答二:```sqlSELECT Orders.CustomerID, SUM(Product.Price * OrderDetails.Quantity) AS TotalSalesFROM OrdersJOIN OrderDetails ON Orders.ID = OrderDetails.OrderIDJOIN Product ON OrderDetails.ProductID = Product.IDGROUP BY Orders.CustomerIDORDER BY TotalSales DESC;```练习题三:查询员工信息假设有一个员工表(Employee)和一个部门表(Department),其中员工表包含了员工的ID、姓名和部门ID等信息,部门表包含了部门的ID和名称等信息。
SQL经典50题练习
创建表及插⼊数据学⽣表Studentcreate table SC(SId varchar(10),CId varchar(10),score decimal(18,1));insert into SC values('01' , '01' , 80);insert into SC values('01' , '02' , 90);insert into SC values('01' , '03' , 99);insert into SC values('02' , '01' , 70);insert into SC values('02' , '02' , 60);insert into SC values('02' , '03' , 80);insert into SC values('03' , '01' , 80);insert into SC values('03' , '02' , 80);insert into SC values('03' , '03' , 80);insert into SC values('04' , '01' , 50);insert into SC values('04' , '02' , 30);insert into SC values('04' , '03' , 20);insert into SC values('05' , '01' , 76);insert into SC values('05' , '02' , 87);insert into SC values('06' , '01' , 31);insert into SC values('06' , '03' , 34);insert into SC values('07' , '02' , 89);insert into SC values('07' , '03' , 98);练习题⽬1. 查询" 01 "课程⽐" 02 "课程成绩⾼的学⽣的信息及课程分数1.1 查询同时存在" 01 "课程和" 02 "课程的情况1.2 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显⽰为 null )1.3 查询不存在" 01 "课程但存在" 02 "课程的情况2. 查询平均成绩⼤于等于 60 分的同学的学⽣编号和学⽣姓名和平均成绩3. 查询在 SC 表存在成绩的学⽣信息4. 查询所有同学的学⽣编号、学⽣姓名、选课总数、所有课程的总成绩(没成绩的显⽰为 null )4.1 查有成绩的学⽣信息5. 查询「李」姓⽼师的数量6. 查询学过「张三」⽼师授课的同学的信息7. 查询没有学全所有课程的同学的信息8. 查询⾄少有⼀门课与学号为" 01 "的同学所学相同的同学的信息9. 查询和" 01 "号的同学学习的课程 完全相同的其他同学的信息10. 查询没学过"张三"⽼师讲授的任⼀门课程的学⽣姓名11. 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩12. 检索" 01 "课程分数⼩于 60,按分数降序排列的学⽣信息13. 按平均成绩从⾼到低显⽰所有学⽣的所有课程的成绩以及平均成绩14. 查询各科成绩最⾼分、最低分和平均分:以如下形式显⽰:课程 ID,课程 name,最⾼分,最低分,平均分,及格率,中等率,优良率,优秀率及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90要求输出课程号和选修⼈数,查询结果按⼈数降序排列,若⼈数相同,按课程号升序排列15. 按各科成绩进⾏排序,并显⽰排名, Score 重复时保留名次空缺15. 按各科成绩进⾏排序,并显⽰排名, Score 重复时保留名次空缺15.1 按各科成绩进⾏排序,并显⽰排名, Score 重复时合并名次16. 查询学⽣的总成绩,并进⾏排名,总分重复时保留名次空缺16.1 查询学⽣的总成绩,并进⾏排名,总分重复时不保留名次空缺17. 统计各科成绩各分数段⼈数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 及所占百分⽐18. 查询各科成绩前三名的记录19. 查询每门课程被选修的学⽣数20. 查询出只选修两门课程的学⽣学号和姓名21. 查询男⽣、⼥⽣⼈数22. 查询名字中含有「风」字的学⽣信息23. 查询同名同性学⽣名单,并统计同名⼈数24. 查询 1990 年出⽣的学⽣名单25. 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列26. 查询平均成绩⼤于等于 85 的所有学⽣的学号、姓名和平均成绩27. 查询课程名称为「数学」,且分数低于 60 的学⽣姓名和分数28. 查询所有学⽣的课程及分数情况(存在学⽣没成绩,没选课的情况)29. 查询任何⼀门课程成绩在 70 分以上的姓名、课程名称和分数30. 查询不及格的课程31. 查询课程编号为 01 且课程成绩在 80 分以上的学⽣的学号和姓名32. 求每门课程的学⽣⼈数33. 成绩不重复,查询选修「张三」⽼师所授课程的学⽣中,成绩最⾼的学⽣信息及其成绩34. 成绩有重复的情况下,查询选修「张三」⽼师所授课程的学⽣中,成绩最⾼的学⽣信息及其成 绩35. 查询不同课程成绩相同的学⽣的学⽣编号、课程编号、学⽣成绩36. 查询每门功成绩最好的前两名37. 统计每门课程的学⽣选修⼈数(超过 5 ⼈的课程才统计)。
SQL练习题
SQL练习题SQL综合练习题一一、单项选择题1.下列说法正确的是()。
A)SQL语言不能直接以命令方式交互使用,而只能嵌入到程序设计语言中以程序方式使用B)SQL语言只能直接以命令方式交互使用,而不能嵌入到程序设计语言中以程序方式使用C)SQL语言不可以直接以命令方式交互使用,也不可以嵌入到程序设计语言中以程序方式使用,是在一种特殊的环境下使用的语言D)SQL语言既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用2.SQL语言具有()的功能。
A)关系规范化,数据操纵,数据控制B)数据定义,数据操纵,数据控制C)数据定义,关系规范化,数据控制D)关系规范化,数据操纵,数据查询3.SQL语言中使用最多的功能是()。
A)数据查询B)数据修改C)数据定义D)数据控制4.SQL语句中,Select命令的分组操作配套使用的条件短语应使用()引导。
A)Where B)like C)Having D)In5.Sql语句中删除表中记录的语句是()。
A)Drop B)Erase C)Cancle D)Delete6.用SQL语句建立表时为属性定义主索引,应在SQL语句中使用短语()。
A)Default B)Primary Key C)Check D)Unique7.SQL语句的where短语中可以使用通配符是()。
.A)*B)?C)%D)—8.SQL语句中条件短语的关键字是()。
A)Where B)For C)While D)as9.SQL中可以使用的通配符有()。
A)*B)%C)_D)B项和c项10.SQL的数据操纵语句不包括()。
A)Insert B)Delete C)Update D)Change11.字符串匹配运算符是()。
A)Like B)And C)In D)=12.将查询结果放在数组中应使用()短语。
A)Into Cursor B)To Array C)Into Table D)Into Array13.SQL实现分组查询的短语是()。
数据库的sql语句练习题
数据库的sql语句练习题1. 练习题一:查询语句基础在学生表(students)中,包含以下字段:学号(id)、姓名(name)、年龄(age)、性别(gender)、班级(class)、成绩(score)。
请编写SQL语句实现以下需求:a) 查询学生表中所有学生的信息。
b) 查询学生表中的男性学生信息。
c) 查询学生表中年龄为18岁的学生信息。
d) 查询学生表中成绩大于等于90分的学生信息。
e) 查询学生表中姓“张”的学生信息。
2. 练习题二:修改语句练习在学生表(students)中,某个学生的学号为1001,需要将该学生的年龄修改为20岁,请编写相应的SQL语句实现此操作。
3. 练习题三:插入语句练习在学生表(students)中添加一条新纪录,学号为1002,姓名为李明,年龄为19岁,性别为男,班级为三年级,成绩为87分,请编写相应的SQL语句实现此操作。
4. 练习题四:删除语句练习在学生表(students)中,某个学生的学号为1003,需要将该学生的信息从表中删除,请编写相应的SQL语句实现此操作。
5. 练习题五:使用多表查询存在两张表,学生表(students)和课程表(courses)。
学生表包含字段:学号(id)、姓名(name)、班级(class);课程表包含字段:课程编号(course_id)、课程名称(course_name)。
已知约德尔学院中,学号为1001的学生参加了编号为1的课程,请编写SQL语句查询学号为1001的学生所选的课程及课程名称。
6. 练习题六:排序查询练习在学生表(students)中,查询所有学生的信息,并按照成绩从高到低进行排序。
以上是数据库的SQL语句练习题,请按照上述要求编写相应的SQL语句进行解答。
祝你练习愉快,取得好成绩!。
sql刷题题库
一、选择题1.在SQL中,用于从数据库中选取数据的语句是?A.SELECT(正确答案)B.INSERTC.UPDATED.DELETE2.在SQL中,如果你想选择表中所有列的数据,你应该使用哪个符号来代替列名?A.*(正确答案)B.%C.#D.$3.假设你有一个名为"Employees"的表,其中包含"EmployeeID"和"EmployeeName"两列。
如果你想选择"EmployeeName"为"John Doe"的所有记录,你应该使用哪个SQL语句?A.SELECT * FROM Employees WHERE EmployeeName = 'John Doe'(正确答案)B.SELECT * FROM Employees WHERE EmployeeID = 'John Doe'C.SELECT EmployeeName FROM Employees WHERE EmployeeID = 'John Doe'D.SELECT EmployeeID FROM Employees WHERE EmployeeName = 'John Doe'4.在SQL中,哪个子句用于对结果集进行排序?A.ORDER BY(正确答案)B.GROUP BYC.HA VINGD.WHERE5.假设你有一个名为"Sales"的表,其中包含"SaleDate"和"SaleAmount"两列。
如果你想选择2023年的所有销售记录,并且结果按照"SaleDate"降序排列,你应该使用哪个SQL 语句?A.SELECT * FROM Sales WHERE YEAR(SaleDate) = 2023 ORDER BY SaleDate DESC(正确答案)B.SELECT * FROM Sales WHERE SaleDate = 2023 ORDER BY SaleDate ASCC.SELECT * FROM Sales WHERE YEAR(SaleDate) = 2023 ORDER BY SaleAmountDESCD.SELECT * FROM Sales WHERE SaleDate = 2023 ORDER BY SaleAmount ASC6.在SQL中,哪个函数用于计算某列的平均值?A.A VG(正确答案)B.SUMC.COUNTD.MAX7.假设你有一个名为"Products"的表,其中包含"ProductID"、"ProductName"和"ProductPrice"三列。
SQL语言练习题及答案
SQL语言练习题及答案第三章SQL语言一、选择题1.SQL语言是(B)的语言,容易学习。
A.过程化B.非过程化C.格式化D.导航式2.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A.SELECTB.INSERTC.UPDATED.DELETE3.在视图上不能完成的操作是()。
A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图CREATE、4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,DROP、ALTER语句是实现哪种功能()。
A.数据查询B.数据操纵C.数据定义D.数据控制5.SQL语言中,删除一个视图的命令是()。
6.在SQL语言中的视图VIEW是数据库的()。
7.下列的SQL语句中,()不是数据定义语句。
8.若要撤销数据库中已经存在的表S,可用()。
9.若要在基本表S中增加一列CN(课程名),可用()。
TABLE S(CN CHAR(8))TABLE S ALTER(CN CHAR(8))TABLE S ADD(CN CHAR(8))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 语句是SELECTSNAMEFROMS,C,SC WHERE子句。
