收藏 分销(赏)

2025年sql基础考试题及答案.doc

上传人:zj****8 文档编号:12405614 上传时间:2025-10-11 格式:DOC 页数:13 大小:27.40KB 下载积分:10 金币
下载 相关 举报
2025年sql基础考试题及答案.doc_第1页
第1页 / 共13页
2025年sql基础考试题及答案.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
2025年sql基础考试题及答案 一、单项选择题(总共10题,每题2分) 1. 以下哪个关键字用于从表中检索数据? A. SELECT B. INSERT C. UPDATE D. DELETE 答案:A 解析:SELECT用于从数据库表中查询数据。 2. 要查询名为“students”表中的所有列,正确的SQL语句是? A. SELECT FROM students B. SELECT all FROM students C. SELECT columns FROM students D. SELECT everything FROM students 答案:A 解析: 表示所有列。 3. 以下哪个子句用于对查询结果进行排序? A. WHERE B. GROUP BY C. ORDER BY D. HAVING 答案:C 解析:ORDER BY用于排序。 4. 要查询“students”表中年龄大于20岁的学生,SQL语句是? A. SELECT FROM students WHERE age > 20 B. SELECT FROM students WHERE age >= 20 C. SELECT FROM students HAVING age > 20 D. SELECT FROM students HAVING age >= 20 答案:A 解析:WHERE用于筛选条件,这里筛选年龄大于20的,用> 。 5. 哪个函数可以用来统计“students”表中的记录数? A. COUNT() B. SUM() C. AVG() D. MAX() 答案:A 解析:COUNT()统计记录数。 6. 要查询“students”表中姓“王”的学生,SQL语句是? A. SELECT FROM students WHERE name LIKE '王%' B. SELECT FROM students WHERE name = '王%' C. SELECT FROM students WHERE name LIKE '%王' D. SELECT FROM students WHERE name = '%王' 答案:A 解析:LIKE用于模糊匹配,姓王即开头是王,用'王%' 。 7. 以下哪个语句用于向“students”表中插入一条新记录? A. INSERT INTO students VALUES (1, '张三', 20) B. UPDATE students VALUES (1, '张三', 20) C. DELETE FROM students VALUES (1, '张三', 20) D. SELECT INTO students VALUES (1, '张三', 20) 答案:A 解析:INSERT INTO用于插入记录。 8. 要修改“students”表中某学生的年龄,SQL语句是? A. UPDATE students SET age = 21 WHERE name = '李四' B. UPDATE students age = 21 WHERE name = '李四' C. SET UPDATE students age = 21 WHERE name = '李四' D. SET UPDATE students SET age = 21 WHERE name = '李四' 答案:A 解析:UPDATE用于更新数据,格式为UPDATE 表名 SET 列名 = 值 WHERE 条件。 9. 要删除“students”表中某条记录,SQL语句是? A. DELETE FROM students WHERE id = 5 B. DELETE students WHERE id = 5 C. REMOVE FROM students WHERE id = 5 D. REMOVE students WHERE id = 5 答案:A 解析:DELETE FROM用于删除记录。 10. 哪个关键字用于连接两个表? A. JOIN B. UNION C. INTERSECT D. EXCEPT 答案:A 解析:JOIN用于表连接。 二、多项选择题(总共10题,每题2分) 1. 以下哪些是SQL的聚合函数? A. COUNT B. SUM C. AVG D. MAX 答案:ABCD 解析:这些都是常见的聚合函数。 2. 要查询“students”表中成绩在80到90分之间的学生,可用的SQL语句有? A. SELECT FROM students WHERE score BETWEEN 80 AND 90 B. SELECT FROM students WHERE score >= 80 AND score <= 90 C. SELECT FROM students WHERE score > 80 AND score < 90 D. SELECT FROM students WHERE score IN (80, 90) 答案:AB 解析:BETWEEN...AND可表示范围,>= 和 <= 也可表示范围。 3. 以下哪些语句可以用于创建表? A. CREATE TABLE students (id INT, name VARCHAR(50)) B. MAKE TABLE students (id INT, name VARCHAR(50)) C. NEW TABLE students (id INT, name VARCHAR(50)) D. TABLE CREATE students (id INT, name VARCHAR(50)) 答案:A 解析:CREATE TABLE用于创建表。 4. 要查询“students”表中姓“李”且年龄大于25岁的学生,SQL语句可以是? A. SELECT FROM students WHERE name LIKE '李%' AND age > 25 B. SELECT FROM students WHERE name REGEXP '^李' AND age > 25 C. SELECT FROM students WHERE name LIKE '%李' AND age > 25 D. SELECT FROM students WHERE name REGEXP '李$' AND age > 25 答案:AB 解析:LIKE '李%' 可匹配姓李的,REGEXP '^李' 也可匹配姓李的开头。 5. 以下哪些操作可以用于修改表结构? A. ALTER TABLE students ADD COLUMN gender VARCHAR(10) B. CHANGE TABLE students ADD COLUMN gender VARCHAR(10) C. MODIFY TABLE students gender VARCHAR(10) D. UPDATE TABLE students SET gender = '男' 答案:AC 解析:ALTER TABLE可用于修改表结构,ADD COLUMN添加列,MODIFY修改列定义。 6. 要查询“students”表中年龄最大的学生,SQL语句可以是? A. SELECT FROM students ORDER BY age DESC LIMIT 1 B. SELECT FROM students WHERE age = (SELECT MAX(age) FROM students) C. SELECT FROM students ORDER BY age ASC LIMIT 1 D. SELECT FROM students WHERE age = MAX(age) 答案:AB 解析:ORDER BY age DESC按年龄降序排列,LIMIT 1取第一条即年龄最大的;也可通过子查询找到最大年龄再筛选。 7. 以下哪些关键字可以用于过滤分组后的结果? A. WHERE B. HAVING C. GROUP BY D. ORDER BY 答案:B 解析:HAVING用于对分组后的结果进行过滤。 8. 要查询“students”表中所有学生的姓名和所在班级,假设班级信息在“classes”表中,通过班级ID关联,可用的SQL语句是? A. SELECT s.name, c.class_name FROM students s JOIN classes c ON s.class_id = c.class_id B. SELECT s.name, c.class_name FROM students s, classes c WHERE s.class_id = c.class_id C. SELECT s.name, c.class_name FROM students s LEFT JOIN classes c ON s.class_id = c.class_id D. SELECT s.name, c.class_name FROM students s RIGHT JOIN classes c ON s.class_id = c.class_id 答案:ABCD 解析:A是内连接,B是传统连接方式,C是左连接,D是右连接,都可实现关联查询。 9. 以下哪些语句可以用于删除表? A. DELETE TABLE students B. DROP TABLE students C. REMOVE TABLE students D. ERASE TABLE students 答案:B 解析:DROP TABLE用于删除表。 10. 要查询“students”表中平均成绩最高的班级,SQL语句可以是? A. SELECT class_id, AVG(score) FROM students GROUP BY class_id ORDER BY AVG(score) DESC LIMIT 1 B. SELECT class_id, MAX(AVG(score)) FROM students GROUP BY class_id C. SELECT class_id, AVG(score) FROM students GROUP BY class_id HAVING AVG(score) = (SELECT MAX(AVG(score)) FROM students GROUP BY class_id) D. SELECT class_id, AVG(score) FROM students GROUP BY class_id ORDER BY AVG(score) ASC LIMIT 1 答案:AC 解析:A通过分组求平均成绩并按平均成绩降序取第一条;C通过子查询找到最高平均成绩再筛选所在班级。 三、填空题(总共4题,每题5分) 1. SQL中用于创建数据库的语句是______。 答案:CREATE DATABASE 解析:CREATE DATABASE用于创建数据库。 2. 要查询“employees”表中工资大于5000且小于10000的员工,SQL语句为SELECT FROM employees WHERE salary______5000 AND salary______10000。 答案:> < 解析:大于用> ,小于用< 。 3. 对“orders”表按订单金额降序排序的SQL语句是SELECT FROM orders______ORDER BY amount______。 答案: DESC 解析:ORDER BY用于排序,DESC表示降序。 4. 要查询“products”表中产品名称包含“手机”的记录,SQL语句是SELECT FROM products WHERE product_name______'%手机%'。 答案:LIKE 解析:LIKE用于模糊匹配。 四、判断题(总共10题,每题2分) 1. SQL中所有语句都必须以分号结尾。 答案:正确 解析:在大多数数据库系统中,SQL语句以分号结尾来标识一个完整的语句。 2. SELECT语句只能查询表中的部分列。 答案:错误 解析:SELECT语句可以用 查询所有列,也可指定部分列。 3. WHERE子句只能用于筛选数值类型的列。 答案:错误 解析:WHERE子句可用于各种类型列的筛选条件。 4. GROUP BY子句可以和聚合函数一起使用。 答案:正确 解析:GROUP BY常和聚合函数一起对数据进行分组统计。 5. UPDATE语句可以同时修改多个列的值。 答案:正确 解析:UPDATE语句可以在SET子句中指定多个列及其新值。 6. DELETE FROM语句可以删除表中的所有数据,但不能删除表结构。 答案:正确 解析:DELETE FROM删除表数据,DROP TABLE删除表结构。 7. 内连接查询结果只包含两个表中匹配的行。 答案:正确 解析:内连接就是取两个表中匹配的行。 8. 创建表时,列的数据类型必须唯一。 答案:错误 解析:表中可以有相同数据类型的列。 9. HAVING子句和WHERE子句的作用完全相同。 答案:错误 解析:WHERE用于筛选原始数据行,HAVING用于筛选分组后的结果。 10. ORDER BY子句可以对多个列进行排序。 答案:正确 解析:ORDER BY可以按多个列进行排序。 五、简答题(总共4题,每题5分) 1. 简述SELECT语句的基本结构。 SELECT语句基本结构为SELECT [列名列表] FROM [表名] [WHERE 条件] [GROUP BY 分组列] [HAVING 分组后条件] [ORDER BY 排序列 [ASC|DESC]]。列名列表可指定要查询的列,FROM指定表,WHERE筛选行,GROUP BY分组,HAVING对分组结果筛选,ORDER BY排序。 2. 说明WHERE子句和HAVING子句的区别。 WHERE子句用于在查询数据时对原始数据行进行筛选,条件基于表中的列。而HAVING子句是在分组操作之后,对分组的结果进行筛选,条件基于聚合函数等计算结果。 3. 简述INSERT语句插入数据的两种方式。 一种是INSERT INTO 表名 VALUES (值1, 值2, …),按顺序插入表中各列对应的值;另一种是INSERT INTO 表名 (列名1, 列名2, …) VALUES (值1, 值2, …),明确指定要插入值的列。 4. 如何使用SQL语句查询两个表中相关联的数据? 可以使用JOIN语句,如内连接:SELECT 列名 FROM 表1 JOIN 表2 ON 表1.关联列 = 表2.关联列;左连接:SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 表1.关联列 = 表2.关联列;右连接:SELECT 列名 FROM 表1 RIGHT JOIN 表2 ON 表1.关联列 = 表2.关联列等,通过关联条件找到两个表中相关联的数据。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服