### SQL常用语句详解
#### 一、查询记录
**1. 基础查询**
- `SELECT * FROM 表名 WHERE 条件 ORDER BY 字段 [DESC]`
- **描述**: 此语句用于从指定表中选择所有列,并通过条件筛选结果集,同时可以根据一个或多个字段对结果进行排序。
- `SELECT * FROM 表名 WHERE 字段 LIKE '%值%' ORDER BY 字段 [DESC]`
- **描述**: 类似于基础查询,但此语句增加了模糊匹配功能,可以在字段中查找包含特定字符的数据。
- `SELECT TOP 10 * FROM 表名 WHERE 条件 ORDER BY 字段 [DESC]`
- **描述**: 此语句用于选择前10条满足条件的记录,并按照指定字段排序。
**2. 多值匹配查询**
- `SELECT * FROM 表名 WHERE 字段 IN ('值1', '值2', '值3')`
- **描述**: 如果你需要查询某个字段的值属于一组预定义值中的情况,可以使用IN子句。
- `SELECT * FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2`
- **描述**: 这个查询可以用于找出在两个值之间的记录。
#### 二、更新记录
**1. 更新单个字段**
- `UPDATE 表名 SET 字段 = 值 WHERE 条件`
- **描述**: 此语句用于修改表中满足条件的记录中的指定字段的值。
**2. 更新多个字段**
- `UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 ... 字段N = 值N WHERE 条件`
- **描述**: 当需要同时更新多列时,可以使用这种形式的语句。
#### 三、删除记录
**1. 删除满足条件的记录**
- `DELETE FROM 表名 WHERE 条件`
- **描述**: 可以根据条件删除表中的记录。
**2. 删除全部记录**
- `DELETE FROM 表名`
- **描述**: 如果想要清空整个表的所有记录,可以直接使用这个命令。
#### 四、插入记录
**1. 插入单行数据**
- `INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3)`
- **描述**: 此语句用于向表中插入一条新记录。
**2. 插入多行数据**
- `INSERT INTO 目标表 SELECT * FROM 源表`
- **描述**: 如果需要将一个表中的所有数据复制到另一个表中,可以使用这种方式。
#### 五、聚合函数
**1. 平均值**
- `AVG(字段)`
- **描述**: 计算指定字段的平均值。
**2. 统计数量**
- `COUNT(* | 字段)`
- **描述**: 统计记录总数或某字段不为空的记录数。
**3. 最大值**
- `MAX(字段)`
- **描述**: 查找指定字段的最大值。
**4. 最小值**
- `MIN(字段)`
- **描述**: 查找指定字段的最小值。
**5. 总和**
- `SUM(字段)`
- **描述**: 计算指定字段的总和。
**6. 使用聚合函数**
- `SELECT SUM(字段) AS 总计 FROM 表名 WHERE 条件`
- **描述**: 示例展示了如何使用SUM函数来计算总和,并为结果集指定别名。
#### 六、表的操作
**1. 创建表**
- `CREATE TABLE 表名 (字段1 数据类型, 字段2 数据类型)`
- **描述**: 创建一个新的表,并定义表中的各个字段及其数据类型。
**2. 删除表**
- `DROP TABLE 表名`
- **描述**: 删除指定的表。
#### 七、游标操作
**1. 移动游标位置**
- `rs.MoveNext`: 移动游标到下一个记录。
- `rs.MovePrevious`: 移动游标到上一个记录。
- `rs.MoveFirst`: 将游标移动到第一条记录。
- `rs.MoveLast`: 将游标移动到最后一条记录。
- `rs.AbsolutePosition = N`: 将游标移动到第N条记录。
- `rs.AbsolutePage = N`: 将游标移动到第N页的第一条记录。
- `rs.PageSize = N`: 设置每页的记录数。
- `rs.PageCount`: 计算总的页数。
- `rs.RecordCount`: 获取总的记录数。
- `rs.BOF`: 判断游标是否在表的开头。
- `rs.EOF`: 判断游标是否在表的结尾。
- `rs.Delete`: 删除当前记录。
- `rs.AddNew`: 在表末尾添加新记录。
- `rs.Update`: 更新当前记录。
**附加说明**
- **去重查询**:
- `SELECT DISTINCT 字段 FROM 表名`
- **描述**: 用于从表中选择唯一的不同记录。
- **日期范围查询**:
- `SELECT COUNT(*) FROM 表名 WHERE 字段1 > #2018-01-01# AND 字段1 < #2019-01-01#`
- **描述**: 查询某一字段值在特定日期范围内的记录数。
- **获取特定区间内记录**:
- `SELECT TOP N * FROM 表名 ORDER BY 字段 DESC`
- **描述**: 返回满足条件的前N条记录。
- **随机抽取记录**:
- `SELECT TOP N * FROM 表名 ORDER BY NEWID()`
- **描述**: 随机选择N条记录。
以上是关于SQL常用语句的一些详细介绍和示例,希望对你有所帮助。在实际应用中,还需要根据具体场景灵活运用这些语句。