SQL模糊查询与聚合函数深度解析

需积分: 10 0 下载量 117 浏览量 更新于2024-09-06 收藏 18KB DOCX 举报
"这篇文档是田超凡关于SQL学习的第二部分总结,涵盖了模糊查询和聚合函数等主题,强调了T-SQL语句在数据库查询中的应用和基本操作。" 在深入学习SQL的模糊查询和聚合函数之前,我们需要回顾和巩固一些基本概念。首先,查询是SQL的核心功能,它从数据表中筛选符合特定条件的数据行。当执行查询时,数据库会逐行检查,找出满足要求的记录并组合成一个记录集。这个记录集可以进一步处理,例如通过添加更多的查询条件或排序。 T-SQL的基础查询语句主要包括以下几种: 1. 查询表中所有数据:使用`SELECT * FROM 表名`,星号(*)代表所有列。 2. 查询部分数据:`SELECT 列名1,列名2 FROM 表名 WHERE 查询条件`,WHERE子句用于设定筛选条件。 3. 查询结果排序:`ORDER BY 列名 ASC/DESC`,默认排序为升序(ASC),可选降序(DESC)。 稍微复杂一些的T-SQL查询语句包括: 1. 给列设置别名:`SELECT 列名 AS 别名` 或 `SELECT 别名=列名` 或 `SELECT 列名 别名`。 2. 合并多个列:`SELECT 列名1 + 列名2 + ... AS 别名`,根据列的数据类型决定结果(字符串连接或数值相加)。 3. 查询空值:`WHERE 列名 IS NULL` 或 `IS NOT NULL`,用于查找或排除空值。 4. 插入常量列:`SELECT 常量值 AS 列名`,创建一个包含固定值的新列。 5. 限制返回行数:`SELECT TOP 行数 列名1,列名2...` 返回指定数量的行,`SELECT TOP 百分数 PERCENT 列名1,列名2...` 返回一定比例的行。 对于查询结果的排序,`ORDER BY`子句至关重要。它可以按照一个或多个列进行排序,例如`ORDER BY 列名1 ASC, 列名2 DESC`,这将先按列1升序排序,然后在相同列1值的行间按列2降序排序。 此外,模糊查询允许我们搜索不完全匹配的数据。使用通配符,如`%`表示任意数量的字符,`_`代表单个字符。例如,`LIKE 'ABC%'`将找到以'ABC'开头的所有行,而`LIKE 'A%B%'`则会找到包含'AB'且前后各有任意字符的行。 聚合函数如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`等用于对一组值进行计算。例如,`COUNT(*)`返回表中的行数,`SUM(列名)`求和,`AVG(列名)`计算平均值,`MAX(列名)`和`MIN(列名)`找出最大值和最小值。这些函数常与`GROUP BY`一起使用,将数据分组后再进行聚合计算,例如`SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名`会按列名的每个不同值统计行数。 SQL的模糊查询和聚合函数扩展了我们对数据的分析能力,使我们能更灵活地从数据库中获取所需信息。理解并熟练运用这些概念,是成为有效的SQL查询者的关键。