Sql经典语句集萃:自增ID、行列转换与数据筛选
需积分: 9 97 浏览量
更新于2024-09-30
收藏 55KB DOC 举报
本文档汇集了丰富的SQL语句,主要涵盖SQL Server中的多个关键操作,包括但不限于数据插入、更新、查询以及特定功能如自增ID生成、行列转换、分页查询和表间字段查找等。以下将逐一详细介绍这些知识点:
1. **Identity(Int)的使用**:
SQL Server中的`Identity`属性用于为表中的某一列自动分配连续的整数值,通常用在主键上。例如,`SelectIdField=Identity(Int)`语句会为新插入的记录生成一个唯一的序号,从1开始。同时,`@IRowCount=@@identity`可以用来获取刚刚插入一行后产生的行数,但需要注意,必须配合`Into`子句使用,否则会出现错误。
2. **行列转换(Table Merging)**:
对于两个关联表A(id, pid),可能需要将pid的值转换成新的二维格式(id, pid_list)。通过创建一个名为`fMerge`的自定义存储过程,利用`CAST`和字符串连接技术,可以根据id查询并合并pid列表,最后返回结果。
3. **分页查询**:
使用`SELECT TOP n * FROM (SELECT TOP m * FROM tablename ORDER BY columnname) a ORDER BY columnname DESC`可以实现按指定数量(n)获取前m条记录的分页效果,先按指定列进行排序,再取前m条,最后按降序排列。
4. **查找具有相同字段的表**:
- 对于已知列名,可以通过`syscolumns`和`sysobjects`系统表查询,如`Select b.name as TableName, a.name as columnName`,条件是列名对应于用户指定的字段。
- 如果不知道列名,可以查询所有不同表中出现过的列名,如`Select o.name As TableName, s1.name As columnName`,结合`Exists`子句来检查列是否存在于其他表中。
5. **日期计算**:
- SQL Server提供了`DATEADD`函数用于日期加减,例如获取一个月的第一天,可以使用`SELECT DATEADD(month, 1, your_date_column)`。这适用于处理日期范围、时间间隔计算等场景。
以上这些SQL语句在实际开发中非常常见,熟练掌握它们能有效提高数据处理的效率和准确性。通过这些实例,可以更好地理解和运用SQL Server的基本操作,从而提升数据库管理能力。
2007-11-10 上传
2024-12-22 上传
307 浏览量
2014-03-26 上传
点击了解资源详情
180 浏览量
点击了解资源详情
aaaa
- 粉丝: 1
- 资源: 8