SQL基础知识试题及详细答案_第1页
SQL基础知识试题及详细答案_第2页
SQL基础知识试题及详细答案_第3页
SQL基础知识试题及详细答案_第4页
SQL基础知识试题及详细答案_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL基础知识试题及详细答案考试说明:本试题为SQL基础入门考核题,涵盖SQL语法、查询、函数、约束、关联查询等核心基础知识点,题型包含选择题、填空题、简答题、实操题,满分100分,答题时间60分钟。所有题目适配MySQL基础环境,语法通用主流关系型数据库。一、单项选择题(共15题,每题2分,共30分)1.以下不属于SQL常用操作分类的是()A.DDL数据定义语言  B.DML数据操纵语言  C.DTL数据传输语言  D.DCL数据控制语言2.在SQL中,用于查询数据表数据的核心关键字是()A.INSERT  B.SELECT  C.UPDATE  D.DELETE3.想要去除查询结果中的重复数据,需要使用的关键字是()A.UNIQUE  B.DISTINCT  C.LIMIT  D.ORDERBY4.条件查询中,用来判断字段值是否为空值的正确写法是()A.=NULL  B.ISNULL  C.==NULL  D.NULL()5.对查询结果进行升序排序的默认关键字是()A.DESC  B.ASC  C.SORT  D.GROUP6.以下语句中,能够实现分页查询前10条数据的是()A.SELECT*FROM表名LIMIT10;  B.SELECT*FROM表名TOP10;C.SELECT*FROM表名ORDERBY10;  D.SELECT*FROM表名WHERE10;7.用于统计数据表中记录总条数的聚合函数是()A.SUM()  B.AVG()  C.COUNT()  D.MAX()8.分组查询中,用来筛选分组后数据的关键字是()A.WHERE  B.HAVING  C.IF  D.CASE9.以下不属于数据库表字段约束的是()A.PRIMARYKEY  B.FOREIGNKEY  C.SORTKEY  D.NOTNULL10.模糊查询中,匹配任意长度任意字符的通配符是()A._  B.%  C.*  D.#11.用于向数据表中新增一条数据的语句是()A.ALTER  B.CREATE  C.INSERT  D.ADD12.修改数据表中已有数据的关键字是()A.MODIFY  B.UPDATE  C.CHANGE  D.EDIT13.内连接查询的关键字是()A.LEFTJOIN  B.RIGHTJOIN  C.INNERJOIN  D.FULLJOIN14.以下关于主键约束的说法正确的是()A.主键可以重复、允许为空  B.主键唯一、不允许为空C.一张表可以设置多个主键  D.主键字段必须为数字类型15.删除数据表中所有数据,但保留表结构的语句是()A.DROPTABLE  B.DELETEFROM  C.TRUNCATE  D.REMOVE二、填空题(共10空,每空2分,共20分)1.SQL语句中,__________语句用于创建数据库,__________语句用于创建数据表。2.聚合函数中,__________用于计算字段平均值,__________用于获取字段最大值。3.左连接查询会保留__________表的所有数据,匹配不到的右表数据显示为NULL。4.字段唯一约束的关键字是__________,非空约束的关键字是__________。5.使用__________关键字可以实现子查询,__________关键字可以合并两个结构相同的查询结果集。6.SQL语句中,__________用于给字段或表设置别名,简化语句书写。三、简答题(共4题,每题5分,共20分)1.简述WHERE和HAVING的区别?2.简述DELETE和TRUNCATE的区别?3.简述主键、唯一索引的异同点?4.简述左连接、右连接、内连接的查询逻辑区别?四、实操题(共3题,每题10分,共30分)基础数据表说明学生表student(s_id学生主键,s_name学生姓名,s_age年龄,s_gender性别,class_id班级编号)班级表class(class_id班级主键,class_name班级名称,teacher班主任)成绩表score(sc_id成绩主键,s_id学生编号,score分数,subject科目)1.编写SQL语句,查询所有年龄大于18岁的男生学生信息,结果去除重复数据。2.编写SQL语句,统计每个班级的学生人数,展示班级编号、班级名称、学生人数。3.编写SQL语句,查询“数学”科目分数大于90分的学生姓名、班级名称、数学分数。参考答案及详细解析一、单项选择题答案及解析1.答案:C解析:SQL四大基础分类为DDL(数据定义,建库建表、修改结构)、DML(数据操纵,增删改查数据)、DCL(数据控制,权限管理)、TCL(事务控制),无DTL数据传输语言。2.答案:B解析:SELECT为查询核心关键字;INSERT用于新增数据,UPDATE用于修改数据,DELETE用于删除数据。3.答案:B解析:DISTINCT去重查询结果;UNIQUE是字段约束,用于限制字段值唯一;LIMIT用于分页,ORDERBY用于排序。4.答案:B解析:NULL为空值,不能用等号判断,SQL中统一使用ISNULL判断为空,ISNOTNULL判断非空。5.答案:B解析:ASC为升序排序(默认可省略);DESC为降序排序;SORT、GROUP无排序功能。6.答案:A解析:MySQL使用LIMIT实现分页查询;TOP是SQLServer语法,MySQL不支持。7.答案:C解析:COUNT()统计记录数;SUM()求和、AVG()求平均值、MAX()求最大值。8.答案:B解析:WHERE用于分组、聚合之前筛选原始数据;HAVING用于GROUPBY分组之后,筛选分组后的结果。9.答案:C解析:常用表约束包含主键、外键、非空、唯一、默认值约束,无SORTKEY排序约束。10.答案:B解析:%匹配任意长度任意字符;_仅匹配单个任意字符。11.答案:C解析:INSERTINTO用于新增数据表数据;CREATE用于建库建表,ALTER用于修改表结构。12.答案:B解析:UPDATE表名SET字段=值用于修改表中已有数据;MODIFY用于修改字段属性,不修改数据内容。13.答案:C解析:INNERJOIN内连接;LEFTJOIN左连接;RIGHTJOIN右连接;FULLJOIN全连接。14.答案:B解析:主键约束特点:唯一、非空、一张表只能有一个主键,主键字段可以是数字、字符串等多种类型。15.答案:C解析:TRUNCATE清空表数据,保留表结构,且无法回滚;DELETE逐行删除数据,可带条件、可回滚;DROPTABLE直接删除整张数据表(结构+数据)。二、填空题答案及解析1.CREATEDATABASE、CREATETABLE2.AVG()、MAX()3.左(主)4.UNIQUE、NOTNULL5.IN、UNION6.AS(可省略)三、简答题答案及解析1.WHERE和HAVING的区别第一,执行顺序不同:WHERE在分组、聚合函数执行前生效,筛选原始数据表的数据;HAVING在GROUPBY分组、聚合计算完成后生效,筛选分组后的结果。第二,使用范围不同:WHERE不能使用聚合函数(SUM、COUNT等);HAVING可以使用聚合函数。第三,优先级不同:WHERE优先级高于GROUPBY,HAVING优先级低于GROUPBY。2.DELETE和TRUNCATE的区别第一,删除方式:DELETE逐行删除数据,支持WHERE条件精准删除指定数据;TRUNCATE直接清空整张表所有数据,不支持条件筛选。第二,事务回滚:DELETE属于DML语句,操作可被事务回滚;TRUNCATE属于DDL语句,操作不可回滚。第三,自增主键:DELETE删除数据后,自增主键值不会重置;TRUNCATE清空数据后,表的自增主键会重置为初始值。第四,执行效率:TRUNCATE清空数据效率远高于DELETE。3.主键、唯一索引的异同点相同点:两者都具备唯一性约束,对应字段的值不能重复,可用于快速查询数据。不同点:一是主键不允许为空值,唯一索引允许存在一个空值;二是一张数据表只能创建一个主键,可创建多个唯一索引;三是主键默认自带索引,且是聚集索引,唯一索引为非聚集索引。4.三种连接查询逻辑区别内连接(INNERJOIN):只返回两张表中匹配条件一致的数据,两边无匹配的数据全部过滤。左连接(LEFTJOIN):以左表为基准,保留左表所有数据,匹配右表符合条件的数据,无匹配的右表字段显示NULL。右连接(RIGHTJOIN):以右表为基准,保留右表所有数据,匹配左表符合条件的数据,无匹配的左表字段显示NULL。四、实操题答案及解析1.查询所有年龄大于18岁的男生学生信息,去重PlainText

SELECTDISTINCT*FROMstudentWHEREs_age>18ANDs_gender='男';解析:DISTINCT实现结果去重,WHERE限定年龄和性别条件,直接筛选原始学生表数据。2.统计每个班级的学生人数,展示班级编号、班级名称、学生人数PlainText

SELECTc.class_id,c.class_name,COUNT(s.s_id)ASstudent_num

FROMclassc

LEFTJOINstudentsONc.class_id=s.class_id

GROUPBYc.class_id,c.class_name;解析:使用左连接保留所有班级(包含无学生的空班级),通过班级编号和名称分组,COUNT统计学生数量,AS设置字段别名。3.查询数学科目分数大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论