SQL数据库查询技巧:从基础到进阶

需积分: 34 11 下载量 127 浏览量 更新于2024-08-15 收藏 325KB PPT 举报
"这篇资料主要介绍了SQL数据库的基础知识,特别是关于SELECT语句的使用技巧,包括查询特定字段、使用BETWEEN和IN操作符、分组求和、以及不同类型的表连接查询。" 在SQL数据库中,SELECT语句是用于从表中检索数据的核心命令。以下是对描述中涉及的SQL知识点的详细解释: 1. **基本SELECT语法**: - `SELECT 字段名 FROM 表名 WHERE 条件`:这是最基础的查询格式,用来获取满足特定条件的指定字段数据。 - 示例:`SELECT * FROM GL_ACCVOUCH WHERE IPERIOD = 10 AND CSIGN = '01'`,这将返回所有10月份且类别为01的凭证信息。 2. **通配符*的使用**: - `*`代表所有字段,表示查询表中的所有列。如果只想查询特定字段,可以将*替换为具体字段名。 3. **BETWEEN和IN操作符**: - `BETWEEN AND`用于定义日期或数值的范围,例如:`DDATE BETWEEN '2002-10-20' AND '2002-11-20'`,表示查询日期在2002年10月20日至11月20日之间的记录。 - `IN()`用于指定多个可能的值,如:`CCODE IN ('01', '02')`,意味着查询CCODE字段为01或02的记录。 4. **聚合函数SUM和GROUP BY**: - `SUM`函数用于计算指定字段的总和。当与`GROUP BY`结合使用时,它会按照指定的字段对数据进行分组并计算每组的总和。 - 如:`SELECT SUM(MD), SUM(MC), SUM(MD) - SUM(MC) FROM GL_ACCVOUCH WHERE ... GROUP BY CCUS_ID`,这将分别计算每个客户的借方金额、贷方金额,并计算差额。 5. **ORDER BY进行排序**: - `ORDER BY 字段名`用于对查询结果进行排序,默认升序(ASC),可添加`DESC`关键字实现降序排序。 - 示例:`ORDER BY CCUS_ID`将按照客户编码进行排序。 6. **表连接查询**: - `JOIN`操作用于连接两个或多个表,根据共同的字段进行匹配。 - `INNER JOIN`只显示两个表中匹配的记录,如:`SELECT b.ccusname, ... FROM GL_ACCVOUCH AS a INNER JOIN CUSTOMER AS b ON a.ccus_id = b.ccusid WHERE ...`。 - `LEFT JOIN`(或LEFT OUTER JOIN)显示左表的所有记录,即使在右表中没有匹配的记录,右表字段为NULL。 7. **CASE表达式**: - 在描述中的查询语句中,使用了CASE表达式进行条件求和,根据`cendd_c`字段的值('借'或'贷')决定是否累加`me`或`ne_s`字段的值。 本资源提供的SQL小技巧涵盖了从基础查询到复杂的聚合和连接操作,对于理解SQL数据库的基本操作具有很高的参考价值。通过学习和掌握这些技巧,用户能够更高效地查询和分析数据库中的数据。