SQL查询手册:从基础到高级操作

4星 · 超过85%的资源 需积分: 3 12 下载量 184 浏览量 更新于2024-12-24 收藏 81KB DOC 举报
"这是一份详细的SQL语句备忘手册,涵盖了SQL语言的多个核心概念,包括多表查询、联合查询、日期处理、查询排名、子查询以及数据分组等。文档采用高清晰的DOC模式,非常适合作为日常查询和学习的参考工具。" 在SQL语言中,SQL语句是用于操作数据库的基础,它主要包括了以下知识点: 1. **多表查询**:通过使用逗号(,)操作符可以进行多表连接查询,如示例中的`SELECT a.id AS 学号, b.number AS 序号 FROM student a, teacher b`,这将返回学生表(student)和教师表(teacher)中相关联的数据。 2. **条件查询**:`WHERE`子句用于筛选满足特定条件的记录,例如`WHERE num NOT BETWEEN 20 AND 30`将返回学号不在20到30之间的学生记录。 3. **联合查询**:`UNION`操作符用于合并两个或更多`SELECT`语句的结果集,例如`SELECT id FROM A UNION SELECT number FROM B`将返回A表的所有id与B表的所有number。 4. **日期处理**:SQL提供了对日期的处理能力,如`MONTH(出生日期)`可以提取出生日期中的月份,`GETDATE()`获取当前日期,结合`WHERE`条件可以筛选特定月份的记录。 5. **计算字段**:在查询中可以创建计算字段,如`SELECT 年龄=DATEDIFF(yy, 出生日期, GETDATE()) FROM student`,该查询将返回每个学生的年龄。 6. **查询排名**:`TOP`关键字可以用来获取查询结果的前N条记录,例如`SELECT TOP 1 id, number FROM student ORDER BY id DESC`将返回学号最大的一条记录。 7. **百分比查询**:`TOP n PERCENT`可以获取查询结果的前n%的记录,如`SELECT TOP 20 PERCENT id, number FROM student ORDER BY id`将返回前20%的学号和对应的序号。 8. **聚合函数**:`AVG`, `COUNT`, `MIN`, `MAX`和`SUM`等聚合函数用于统计一组值,如在数据分组小计的示例中,计算了工资的总数、最高值、最低值、平均值和总额。 9. **子查询**:子查询可以在主查询中嵌套,用于过滤或提供比较的值。如`WHERE NOT EXISTS (SELECT * FROM b WHERE a.number = '001')`检查是否存在匹配的记录,`WHERE number NOT IN (SELECT number FROM teacher)`则用于排除存在于另一个表中的记录。 10. **数据分组**:`GROUP BY`用于对数据进行分组,结合聚合函数可以计算每个组的汇总值,如`GROUP BY a.员工编号, a.姓名`将结果按员工编号和姓名分组。 11. **ORDER BY**:用于对查询结果进行排序,可以指定升序(ASC)或降序(DESC),如`ORDER BY 2 DESC`表示按第二个列降序排序。 这些是SQL语言基础且重要的概念,熟练掌握这些,能有效地管理和操作数据库。这份备忘手册是学习和工作中极好的参考资料。