SQLServer基础查询与聚合函数详解

需积分: 13 0 下载量 26 浏览量 更新于2024-08-05 收藏 3KB MD 举报
"SQLServer_03.md 文件涵盖了SQL Server中的基本查询语句、模糊查询、聚合函数、连接查询等核心概念。" 在SQL Server中,数据库操作主要依赖于SQL(结构化查询语言)语句。以下是这些概念的详细解释: ### 1. 基本查询 基本查询主要涉及`SELECT`语句,用于从表中提取数据。`SELECT`可以指定特定的列名,也可以使用`*`代表所有列。`FROM`后面跟表名,`AS`用于给表定义别名。`WHERE`子句用于设置筛选条件。`GROUP BY`用于根据一个或多个列进行分组,`HAVING`则用于在分组后对结果进行筛选。`ORDER BY`用于排序,`ASC`表示升序,`DESC`表示降序。 - `SELECT 列名1, 列名2 FROM 表名 AS 别名 WHERE 条件表达式`: 显示满足条件的列名1和列名2的数据。 - `SELECT * FROM 表名`: 显示表中的所有列。 - `SELECT TOP n * FROM 表名`: 显示表中的前n行数据,`n`可以是具体数值或百分比。 - `SELECT DISTINCT 列名 FROM 表名`: 去除列中重复的行。 ### 2. 模糊查询 模糊查询使用`LIKE`关键字配合通配符`%`和`_`进行搜索。`%`代表任意数量的字符,`_`代表单个字符。例如,`SELECT 列名1, 列名2 FROM 表名 WHERE 列名1 LIKE '_2%'`将返回所有在列名1中第二个位置是数字2的记录。 ### 3. 聚合函数 聚合函数用于对一组值进行计算,通常与`GROUP BY`一起使用。 - `COUNT(*)`: 统计表中的行数(不包括NULL)。 - `COUNT(列名)`: 统计列中非NULL值的数量。 - `SUM(列名)`: 计算列中数值的总和,列必须是数值类型。 - `AVG(列名)`: 计算列中数值的平均值,列必须是数值类型。 - `MAX(列名)`: 返回列中的最大值。 - `MIN(列名)`: 返回列中的最小值。 ### 4. 连接查询 连接查询用于合并来自两个或更多表的数据。 - **内连接** (`INNER JOIN`):只返回两个表中匹配的行。 - **左外连接** (`LEFT JOIN`):返回左表的所有行,即使在右表中没有匹配项,右表对应部分用NULL填充。 - **右外连接** (`RIGHT JOIN`):返回右表的所有行,即使在左表中没有匹配项,左表对应部分用NULL填充。 - **交叉连接** (`CROSS JOIN`):返回两个表中所有可能的行组合,不考虑任何匹配条件。 ### 5. 子查询 子查询是在一个查询语句中嵌套另一个查询,用于获取满足特定条件的数据集。子查询可以作为外部查询的一部分,如`SELECT`, `FROM`, 或 `WHERE`子句中。 以上就是SQL Server中关于查询和数据操作的一些基础概念,掌握这些将有助于你有效地管理和操作数据库。