sql面试题及答案
单项选择题(每题2分,共10题)
1.SQL中用于从表中选取数据的关键字是()
A.INSERTB.UPDATEC.SELECTD.DELETE
2.以下哪个函数用于获取当前日期()
A.GETDATE()B.DATE()C.NOW()D.CURDATE()
3.要在表中添加新列,应使用()语句
A.ALTERTABLEB.UPDATETABLEC.INSERTTABLED.CREATETABLE
4.以下哪种连接类型会返回两个表中匹配的行()
A.LEFTJOINB.RIGHTJOINC.INNERJOIND.FULLJOIN
5.对查询结果进行排序的关键字是()
A.GROUPBYB.ORDERBYC.HAVINGD.WHERE
6.用于删除表中数据的语句是()
A.DROPTABLEB.DELETEFROMC.TRUNCATETABLED.REMOVEFROM
7.以下哪个语句用于创建索引()
A.CREATEINDEXB.ALTERINDEXC.DELETEINDEXD.UPDATEINDEX
8.要统计某列的行数,使用的函数是()
A.SUM()B.AVG()C.COUNT()D.MAX()
9.子查询是指()
A.在SELECT语句中嵌套的查询B.在INSERT语句中嵌套的查询
C.在UPDATE语句中嵌套的查询D.在DELETE语句中嵌套的查询
10.在SQL中,LIKE关键字用于()
A.精确匹配B.模糊匹配C.范围匹配D.逻辑匹配
多项选择题(每题2分,共10题)
1.以下属于SQL数据定义语言(DDL)的语句有()
A.CREATEB.ALTERC.DROPD.UPDATE
2.能够用于过滤数据的关键字有()
A.WHEREB.HAVINGC.GROUPBYD.ORDERBY
3.以下哪些是SQL中的聚合函数()
A.SUM()B.AVG()C.MIN()D.COUNT()
4.常见的连接类型包括()
A.INNERJOINB.LEFTJOINC.RIGHTJOIND.FULLJOIN
5.要对数据进行分组查询,可能会用到的关键字有()
A.GROUPBYB.HAVINGC.ORDERBYD.WHERE
6.用于修改表中数据的语句有()
A.UPDATEB.INSERTINTOC.DELETEFROMD.ALTERTABLE
7.以下哪些是SQL中的数据类型()
A.INTB.VARCHARC.DATED.BOOLEAN
8.以下关于索引的说法正确的有()
A.可以提高查询效率B.会占用额外存储空间
C.一定能加快所有查询D.可以创建复合索引
9.以下语句可以用于事务处理的有()
A.BEGINTRANSACTIONB.COMMITC.ROLLBACKD.SAVEPOINT
10.以下哪些关键字可以用于限制返回的行数()
A.TOPB.LIMITC.OFFSETD.FETCH
判断题(每题2分,共10题)
1.SQL中,DELETE语句和TRUNCATETABLE语句功能完全相同。()
2.一个表只能有一个主键。()
3.聚合函数可以在WHERE子句中使用。()
4.INNERJOIN会返回两个表中所有行的组合。()
5.GROUPBY子句用于对查询结果进行分组。()
6.视图是一种虚拟表,不存储实际数据。()
7.在SQL中,NULL值和任何值比较结果都是FALSE。()
8.创建索引一定会提高查询性能。()
9.UPDATE语句一次只能更新表中的一行数据。()
10.子查询只能嵌套在SELECT语句中。()
简答题(每题5分,共4题)
1.简述WHERE子句和HAVING子句的区别。
答:WHERE用于在分组前对表中的行进行过滤;HAVING用于在分组后对分组结果进行过滤,HAVING后面可使用聚合函数,WHERE不行。
2.什