SQL查询进阶:连接与分组操作解析

需积分: 0 0 下载量 92 浏览量 更新于2024-09-06 收藏 18KB DOCX 举报
"SQL学习总结1_田超凡.docx,由田超凡原创,已申请版权,禁止未经授权转发。" 本文档主要涵盖了SQL语言的基础知识,特别是查询和聚合操作,适用于初学者或需要复习SQL基础知识的人员。以下是文档中涉及的关键知识点: 1. **查询机制**:SQL查询基于数据库中的数据行进行,类似于筛选过程。数据库在接收到查询请求时,会逐行检查数据,将符合条件的记录挑选出来组合成一个新的记录集。在这个记录集中,还可以进一步进行更复杂的查询。 2. **T-SQL的基本操作**: - **增加(Insert)**:INSERT INTO语句用于插入新数据,有两种基本形式:直接指定值或从其他表选择数据插入。 - **删除(Delete)**:DELETE FROM用于删除满足特定条件的记录,TRUNCATE TABLE则用于删除表中所有数据。 - **更新(Update)**:UPDATE语句结合SET和WHERE子句用于修改现有记录。 - **查询(Select)**:SELECT语句是最基础的查询工具,可以检索所有数据或部分数据,使用WHERE子句过滤条件,ORDER BY用于排序结果。模糊查询通过LIKE操作符实现,配合通配符_%_和_ _进行部分匹配,BETWEEN用于指定范围查询,IN用于列举值的查询。 3. **T-SQL通配符**: - **_**:代表一个字符。 - **%**:代表任意数量的字符,包括零字符。 - **[]**:指定一个字符集,匹配其中的任何单个字符。 - **[^]**:匹配不在指定字符集中的任何单个字符。 - **NOT**:与BETWEEN或IN结合,用于否定查询条件。 4. **T-SQL内部函数**: - **字符串函数**:如LEFT, RIGHT, CHARINDEX, LEN, REPLACE和STUFF等,用于处理字符串数据。 - **日期函数**:如GETDATE, DATEDIFF, DATEPART等,用于处理日期和时间数据。 - **数学函数**:如RAND, FLOOR, SQRT等,用于执行数学运算。 - **系统函数**:如CONVERT, DATALENGTH等,用于转换数据类型或获取数据长度。 5. **连接查询**:连接查询允许从多个表中获取数据,依据相关列的关联关系,如INNER JOIN(内连接),LEFT JOIN(左连接),RIGHT JOIN(右连接)和FULL JOIN(全连接)。 6. **分组查询**:GROUP BY语句用于将数据按一个或多个列进行分组,常与聚合函数(如COUNT, SUM, AVG, MAX, MIN)结合使用,以统计每个组的汇总信息。HAVING子句则在分组后过滤结果。 7. **子查询**:嵌套在其他查询中的查询,可以用于提供临时的结果集,作为外部查询的条件或操作对象。 8. **视图**:视图是虚拟表,基于一个或多个表的查询结果,提供了一种简化复杂查询和保护数据的方式。 9. **索引**:索引能显著提高查询性能,但也会占用额外的存储空间。包括唯一索引、非唯一索引、主键索引、全文索引等类型。 通过理解和掌握这些SQL概念和操作,你可以有效地查询和管理数据库中的信息,为数据分析、业务报表或其他数据库驱动的应用程序提供支持。