数据库查询是数据库管理中的核心操作,它涉及到如何从数据库中获取所需信息。在这个2021年中南大学数据库题库04中,我们看到了一些关于SQL查询的问题,这些问题主要测试了考生对SQL语言基本概念的理解,包括选择、聚合、分组、连接以及排序等操作。 1. **查询最低分**: 问题要求返回成绩表中最低分,正确的SQL语句是B `SELECT TOP 1 score FROM grade ORDER BY score ASC`。这个语句会选取分数列(score)中最小值,通过`ORDER BY score ASC`确保结果按升序排列,`TOP 1`则只取第一行,即最低分。 2. **教师平均工资**: 要找出系内教师平均工资高于全体教师平均工资的系信息,正确答案是C `SELECT 所在系,AVG(工资) FROM 教师表 GROUP BY 所在系 HAVING AVG(工资)>(SELECT AVG(工资) FROM 教师表)`。这里,`GROUP BY`用于按所在系分组,`HAVING`则是在分组后对每个组进行条件筛选,而`SELECT AVG(工资)`是计算全体教师的平均工资。 3. **从未被“专家”讲授过的课程**: 正确的SQL语句是C `SELECT 课程号 FROM 授课表 WHERE 课程号 NOT IN ( SELECT 课程号 FROM 授课表 a JOIN 教师表 b ON a.教师号=b.教师号 WHERE 职称!=´专家´)`。这个查询使用了子查询和JOIN操作,找出没有与“专家”职称教师关联的课程号。 4. **GROUP BY子句**: 当在`SELECT`语句中使用`GROUP BY SNO`时,SNO必须在`GROUP BY`子句中出现,所以答案是C。 5. **计数查询**: `SELECT COUNT(DISTINCT DNO) FROM EMP`等价于记录职工服务部门的数目,因为`DISTINCT`确保了不重复的DNO(部门编号)被计数,所以答案是C。 6. **SELECT语句**: 在Transact-SQL语法中,一个简单的`SELECT`语句至少需要包含`SELECT`和`FROM`,所以答案是B。 7. **ORDER BY子句**: `ORDER BY`子句用于排序查询结果,如果没有指定排序方式,默认按升序排序,所以答案是C。 8. **返回INT类型的函数**: 在SQL Server中,`GETDATE()`函数返回当前日期,而`YEAR`是提取年份,所以`GETDATE() YEAR`返回的是整数,答案是D。 9. **LIKE子句通配符**: `LIKE`子句用于模式匹配,`%`代表零个、一个或多个字符,`_`代表一个字符,而`*`不是有效的通配符,答案是C。 10. **聚合函数**: 引用正确的聚合函数是B `COUNT(*)`,它会计算行数,`SUM(*)`和`AVG(*)`在某些数据库系统中可能无法工作,因为它们通常需要数值型列,而`MAX(*)`在SQL Server中通常不适用。 11. **比较运算符**: 若要查询比某个子集中最小值大的所有记录,使用`>`运算符配合`ANY`或`ALL`,`>ANY`表示只要大于子集中的任意一个值即可,所以答案是A。 12. **LIKE子句通配符**: 对于条件`WHERE st_name LIKE '[CS]her%y'`,它会匹配以"C"或"S"开头,接着是"her",然后可以是任意字符的字符串,所以答案是C,如"张小明"。 这些题目涵盖了SQL查询的基本元素,对于理解数据库查询的逻辑和语法非常重要。学习和掌握这些知识点对于任何数据库管理或数据分析的工作都是至关重要的。
剩余59页未读,继续阅读
- 粉丝: 749
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助