部分展示: AVG() 返回数值列的平均值。SELECT AVG(column_name) avg_column_name FROM table_name AVG() as 命名规则:AVG(column_name) avg_column_name 前边加avg_ SELECT * FROM Websites ORDER BY alexa 升序排序 SELECT * FROM Websites ORDER BY alexa DESC; 降序排序 SELECT * FROM Websites ORDER BY country,alexa; 多列升序排序 1. where和having的区别 where不能使用聚合函数、having中可以使用聚合函数 where是一个约束声明,使用where来约束来自数据库的数据;where是在结果返回之前起作用的;where中不能使用聚合函数。 having是一个过滤声明;在查询返回结果集以后,对查询结果进行的过滤操作;在having中可以使用聚合函数。 筛选出北京西城、东城、海淀及各区学校数量 SELECT region,cou 在SQL面试中,掌握基本的查询操作和聚合函数是非常重要的。以下是一些关键知识点的详细说明: 1. **AVG() 函数**:这个函数用于计算数值列的平均值。例如,`SELECT AVG(column_name) avg_column_name FROM table_name` 会返回指定列的平均值。你可以给计算出的平均值指定别名,如 `AVG(column_name) avg_column_name`。 2. **排序(ORDER BY)**:`ORDER BY` 语句用于对查询结果进行排序。升序排序使用 `ASC`(默认),降序排序使用 `DESC`。例如,`SELECT * FROM Websites ORDER BY alexa` 将按alexa字段升序排列,`SELECT * FROM Websites ORDER BY alexa DESC` 则为降序。多列排序可以使用多个字段,如 `SELECT * FROM Websites ORDER BY country, alexa` 先按country升序,再按alexa升序。 3. **WHERE 和 HAVING 的区别**:WHERE子句用于在查询数据之前对原始数据进行筛选,不支持聚合函数。HAVING子句则在GROUP BY之后对分组结果进行过滤,可以使用聚合函数。例如,要筛选出北京西城、东城、海淀及各区学校数量,可使用 `WHERE` 过滤区域,然后用 `HAVING` 过滤学校数量,如 `SELECT region, COUNT(school) FROM T02_Bejing_school WHERE region IN ('海淀', '西城', '东城') GROUP BY region HAVING COUNT(school) > 10`。 4. **聚合函数与GROUP BY**:聚合函数如COUNT(), SUM(), MAX(), MIN()等与GROUP BY一起使用,用于对一组数据进行统计。例如,`SELECT region, COUNT(school) FROM T02_Bejing_school GROUP BY region` 会返回每个区的学校数量。 5. **LIMIT 子句**:用于限制查询结果的数量。例如,`SELECT device_id FROM user_profile LIMIT 2` 将只返回前两个设备ID。还可以通过 `WHERE` 或 `BETWEEN` 与 `LIMIT` 结合使用,以获取特定范围的记录。 6. **别名(AS)**:AS关键字用于重命名列名或表名,如 `SELECT column_name AS new_name FROM table`。在题目中,`SELECT device_id as user_info_example FROM user_profile LIMIT 2` 即将device_id列重命名为'user_info_example'。 7. **筛选特定值**:使用 `WHERE` 子句筛选满足特定条件的记录,如 `SELECT device_id, university FROM user_profile WHERE university = "北京大学"`。 8. **排序与多列排序**:`ORDER BY` 可以结合多个字段进行排序,如 `SELECT device_id, age FROM user_profile ORDER BY age`(升序)或 `SELECT device_id, age FROM user_profile ORDER BY age DESC, gpa DESC`(先按age降序,再按gpa降序)。 9. **逻辑运算符**:在筛选条件中可以使用逻辑运算符 `AND`, `OR`,例如,要筛选24岁以上或20至23岁的用户,可以写为 `WHERE age >= 24 OR (age >= 20 AND age <= 23)`。 这些是SQL查询中的基础概念,对于面试和日常数据库操作至关重要。理解并熟练应用这些知识点,能帮助你有效地处理各种数据查询需求。
- 粉丝: 1w+
- 资源: 394
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助