SQL查询语句详解:单表操作与函数应用

需积分: 50 2 下载量 69 浏览量 更新于2024-08-12 收藏 1KB MD 举报
"这篇文档是关于SQL语句编写的教程,特别关注了DQL(Data Query Language)中的单表查询操作。" 在SQL语言中,DQL主要用于从数据库中检索数据,而本教程主要讲解了如何编写单表查询的SQL语句。以下是一些关键知识点的详细解释: 1. **SELECT语句**:这是SQL中最基本的查询语句,用于指定我们想要从表中获取哪些列的数据。例如,`SELECT * FROM 表名`将返回表中的所有列。 2. **DISTINCT关键字**:用来去除查询结果中的重复行,`SELECT DISTINCT 列名 FROM 表名`将返回表中该列的唯一值。 3. **IFNULL函数**:这个函数用于检查某个列的值是否为NULL,如果是,则将其替换为指定的值。例如,`IFNULL(列名, 替换值)`如果列名为NULL,则用替换值填充。 4. **算术运算符**:`+`、`-`、`*`和`/`用于执行基本的数学运算,而`//`通常用于整数除法。 5. **聚合函数**: - **COUNT()**:计算指定列的记录数,`COUNT(列名)`返回该列的非NULL值的数量。 - **SUM()**:计算指定列的总和。 - **AVG()**:计算指定列的平均值。 - **MAX()**:找出指定列的最大值。 - **MIN()**:找出指定列的最小值。 6. **AS关键字**:用于为列名或表达式指定别名,如`SELECT 列名 AS 别名 FROM 表名`,这有助于提高查询的可读性。 7. **WHERE子句**:设置查询条件,用于过滤出满足特定条件的行。条件可以包括比较运算符(如`>`, `<`, `=`, `!=`, `>=`, `<=`)以及逻辑运算符(如`AND`, `OR`, `NOT`)。 8. **条件分类**: - **IN**:匹配列表中的任意一个值,如`WHERE 列名 IN (值1, 值2, ...)` - **BETWEEN AND**:筛选出位于两个值之间的数据,如`WHERE 列名 BETWEEN 值1 AND 值2` - **IS NULL** 和 **IS NOT NULL**:检查列值是否为NULL - **LIKE**:进行模糊匹配,`%`代表零个、一个或多个字符,`_`代表一个字符。 9. **GROUP BY子句**:根据一个或多个列对结果进行分组,如`GROUP BY 列名`。 10. **HAVING子句**:在GROUP BY之后过滤分组,用于基于聚合函数的结果设置条件。 11. **ORDER BY子句**:用于对查询结果进行排序,可以指定多个列和排序方向(默认升序ASC,降序DESC)。 12. **LIMIT子句**:用于分页,`LIMIT 起始位置, 每页条数`从起始位置开始,返回每页指定数量的记录。 通过这些基本的SQL元素,我们可以构建出复杂的查询,以满足各种数据检索需求。掌握这些知识点对于理解和操作SQL数据库至关重要。