• 访问和更改关系数据概述
  • 查询工具和编程接口
    • 查询工具
      • sql server 工具
        • 使用 sql 查询分析器
        • 使用 sql server企业管理器
        • 使用 osql 实用工具
        • 使用 bcp 实用工具
    • 编程接口
      • microsoft 编程环境
      • 应用程序接口
        • 连接到实例和与实例断开
        • 准备和执行语句
        • 处理结果
  • transact-sql 语法元素
    • 使用标识符
      • 使用标识符作为对象名称
      • 对象可见性和限定规则
      • 分隔标识符
    • 使用数据类型
      • 使用二进制数据
      • 使用 char 和 varchar 数据
      • 使用日期和时间数据
        • 字母日期格式
        • 数字日期格式
        • 未分隔字符串格式
        • 时间格式
        • odbc 日期时间格式
      • 使用整型数据
        • 使用 bigint 数据
      • 使用 decimal、float 和 real 数据
      • 使用货币数据
      • 使用 text 和 image 数据
      • 使用 uniqueidentifier 数据
      • 使用特殊数据
        • 使用 sql_variant 数据
      • 使用 unicode 数据
      • 数据类型转换
        • 将数据移动到程序变量
        • 转换 binary 和 varbinary 数据
        • 转换 bit 数据
        • 转换字符数据
        • 转换 datetime 和 smalldatetime 数据
        • 转换 float 和 real 数据
        • 转换 money 数据
        • 转换 decimal 和 numeric 数据
        • 使用 ole 自动化存储过程进行数据类型转换
    • 使用常量
    • 使用函数
      • 使用系统函数
      • 使用字符串函数
        • 使用 substring
        • 比较 charindex 和 patindex
        • 使用 str
        • 使用 stuff
        • 比较 soundex 和 difference
      • 使用 text、ntext 和 image 函数
      • 使用数学函数
        • 使用三角函数
        • 比较 ceiling 和 floor
        • 比较 log 和 log10
        • 使用 power 和 exp 指数函数
        • 使用 rand
      • 日期函数
        • 使用 getdate
        • 比较 datepart 和 datename
        • 比较 dateadd 和 datediff
      • 返回用户名和用户 id 的函数
      • 转换函数
      • 唤醒调用用户定义函数
        • 唤醒调用返回标量值的用户定义函数
        • 唤醒调用返回表数据类型的用户定义函数
        • 唤醒调用内置用户定义函数
    • 表达式
      • 在表达式中使用运算符
        • 算术运算符
        • 按位运算符
        • 比较运算符
        • 字符串串联运算符
      • 空值
    • 使用注释
    • 使用保留关键字
  • 访问和更改数据基础知识
    • 选择数据库
    • 使用多个语句
      • 批处理
        • 指定批处理
        • 批处理示例
      • 存储过程和触发器
      • 使用多个语句
      • 使用变量和参数
        • transact-sql 变量
        • 参数
        • 应用程序变量
        • 参数标记
      • 控制流
        • 使用 begin...end
        • 使用 goto
        • 使用 if...else
        • 使用 return
        • 使用 waitfor
        • 使用 while...break 或 continue
        • 使用 case
      • 运行时生成语句
        • 使用 sp_executesql
    • 权限
    • 使用 sql server 中的选项
      • set 选项
      • 数据库选项
      • 服务器选项
      • 提示
      • 数据库兼容级别选项
      • 在 arithabort 和 arithignore 均被设置为 on 时使用
  • 查询基础知识
    • select 语句的各部分
    • 使用选择列表
      • 选择所有列
      • 选择特定列
      • 查询结果集中的常量
      • 选择列表中的计算值
      • 指定结果集的列名
      • 结果集列名的分隔
      • 使用 distinct 消除重复项
      • 使用 top 和 percent 限制结果集
    • 使用 from 子句
      • 使用表别名
    • 用 where 和 having 筛选行
      • 比较搜索条件
      • 范围搜索条件
      • 列表搜索条件
      • 搜索条件中的模式匹配
      • 空值比较搜索条件
      • 逻辑运算符
        • 逻辑运算符的优先顺序
      • transact-sql 联接
    • 用 order by 对行进行排序
    • 联接基础知识
      • 使用联接
        • 使用内联接
        • 使用外联接
        • 使用交叉联接
        • 使用自联接
        • 联接三个或更多的表
      • 空值和联接
      • 在 from 或 where 子句中指定联接
  • 高级查询概念
    • 在选择列表中使用聚合函数
      • 使用 count(*) 函数
      • 使用 distinct
      • 空值
    • 使用 group by 分组多行
      • group by 组件
        • group by 和 where 子句
        • 使用 having 子句选择行
        • group by 子句和 all 关键字
        • group by 子句和空值
    • 使用 union 运算符组合多个结果
      • union 运算符使用准则
      • 与其它 transact-sql 语句一起使用 union 语句
    • 使用分区视图
      • 设计使用联合数据库服务器的应用程序
    • 子查询基础知识
      • 子查询规则
      • 在子查询中限定列名
      • 子查询类型
        • 使用别名的子查询
        • 使用 in 的子查询
        • 使用 not in 的子查询
        • update、delete 和 insert 语句中的子查询
        • 使用比较运算符的子查询
        • 用 any、some 或 all 修改的比较运算符
        • 使用 exists 的子查询
        • 使用 not exists 的子查询
        • 使用 exists 和 not exists 查找交集与差集
        • 用于替代表达式的子查询
      • 多层嵌套
      • 相关子查询
        • 使用别名的相关子查询
        • 使用比较运算符的相关子查询
        • having 子句中的相关子查询
    • 使用 case 处理条件数据
    • 汇总数据
      • 用 cube 汇总数据
      • 用 rollup 汇总数据
      • 用 compute 和 compute by 汇总数据
    • 错误处理
      • 处理应用程序中的错误和消息
      • 使用 @@error
      • 使用 print
      • 使用 raiserror
    • 查询 sql server 系统目录
    • 管理 ntext、text 和 image 数据
      • 检索 ntext、text 或 image 值
      • 修改 ntext、text 或 image 值
    • transact-sql 中的 ole 自动化对象
      • ole 自动化返回代码和错误信息
      • ole 自动化结果集
      • 诊断 transact-sql 中的 ole 自动化对象
      • ole 自动化脚本示例
    • transact-sql 窍门
      • 交叉数据报表
      • 展开层次结构
      • 展开网络
      • 编写国际化 transact-sql 语句
      • 编写可读性强的代码
  • 修改数据
  • 添加数据
    • 使用 insert 添加行
      • 使用 insert...values 插入行
      • 使用 insert...select 插入行
      • 使用 select into 插入行
    • 使用结果集位置添加行
    • 将 ntext、text 或 image 数据添加到插入的行中
    • 使用大容量复制操作添加行
    • 更改数据
      • 使用 update 语句更改数据
        • 使用 set 子句更改数据
        • 使用 where 子句更改数据
        • 使用 from 子句更改数据
      • 使用游标更改数据
      • 更改 ntext、text 或 image 数据
    • 删除数据
      • 使用 delete 语句删除行
      • 删除结果集中的行
      • 使用 truncate table 删除所有行
  • 事务
    • 控制事务
    • 显式事务
    • 自动提交事务
    • 隐性事务
      • transact-sql 隐性事务
      • api 隐性事务
    • 分布式事务
      • transact-sql 分布式事务
      • ms dtc 分布式事务
      • 分布式查询和分布式事务
    • 高级主题
      • 嵌套事务
      • 事务保存点
      • 使用绑定连接
      • 调整事务隔离级别
      • 存储过程和触发器中回滚
      • 事务中允许的 transact-sql 语句
      • 编写有效的事务
  • 锁定
    • 并发问题
    • 乐观和悲观并发
    • 隔离级别
    • sql server 中的锁定介绍
      • 锁兼容性
      • 键范围锁定
      • 锁升级
      • 动态锁定
    • 显示锁定信息
    • 在 sql server 中自定义锁定
      • 死锁
        • 检测和结束死锁
        • 处理死锁
        • 将死锁减至最少
      • 自定义锁超时
      • 自定义事务隔离级别
      • 锁定提示
      • 自定义索引的锁定
  • 游标
    • 默认结果集
    • 游标实现
      • specifying cursors
      • transact-sql 游标
      • api 服务器游标
      • 客户端游标
    • 提取和滚动
    • 控制游标行为
    • 游标类型
      • 只进游标
        • 快速只进游标
      • 静态游标
      • 键集驱动游标
      • 动态游标
    • 游标行为
      • 可滚动性
      • 敏感性
    • 游标锁定
      • 游标和事务
      • 游标并发
      • 游标事务隔离级别
    • 使用定位操作更改行
    • 游标编程详细信息
      • 选择游标类型
      • 块状游标
      • 隐性游标转换
      • 异步填充
      • transact-sql 游标名称的作用域
      • getting server cursor metadata
      • using cursors with distributed queries
  • 分布式查询
    • 访问外部数据
      • 使用链接服务器名称标识数据源
      • 使用特殊名称标识数据源
      • 将直接传递查询作为表使用
    • 外部数据和 transact-sql
      • 设置用于分布式查询的 sql-92 选项
      • 在分布式查询中使用事务
      • 数据类型映射
    • 分布式查询中的排序规则
    • 从链接服务器中获得元数据
    • 用 sql server 测试过的 ole db 提供程序
      • 用于 sql server 的 ole db 提供程序
        • 聚集 sql server 中的链接服务器考虑事项
        • 多个 sql server 实例上的分布式查询
      • 用于 odbc 的 ole db 提供程序
      • 用于 jet 的 ole db 提供程序
      • 用于 dts 包的 ole db 提供程序
      • 用于 oracle 的 ole db 提供程序
      • 用于 microsoft 目录服务的 ole db 提供程序
      • 用于 microsoft 索引服务的 ole db 提供程序
      • 用于 db2 的 ole db 提供程序
      • 用于 exchange 的 ole db 提供程序
    • 用于分布式查询的 ole db 提供程序参考
      • 分布式查询使用的 ole db 对象
      • ole db 提供程序的四部分名称要求
      • ole db 提供程序的 update 和 delete 语句要求
      • ole db 提供程序的 insert 语句要求
      • ole db 提供程序的键集驱动游标要求
      • ole db 提供程序的分布统计要求
      • ole db 提供程序的 sql 方言要求
        • dbpropval_sql_subminimum 语法
        • sqlpropset_opthints 属性集程序设计
  • 全文检索
    • 对 sql server 数据进行全文查询
      • 全文索引和查询概念
      • 执行全文检索
      • transact-sql 全文查询组件
      • 使用 contains 谓词
        • 检索特定单词或短语(简单条件)
        • 使用 and、or 和 and not 组合全文检索运算符
        • 检索单词或短语的多种形式(前缀条件)
        • 检索指定单词的任意形式(通用条件)
        • 使用加权值检索单词或短语(加权条件)
        • 检索与另一个单词或短语近似的单词或短语(邻近条件)
      • 使用 freetext 谓词
      • 使用全文谓词查询 image 列
      • 将全文谓词与其它 transact-sql 谓词结合起来
      • 使用 containstable 和 freetexttable 赋值行集函数
      • 使用 transact-sql 函数获取全文属性值
      • 全文管理与全文查询结合的示例
    • 文件数据的全文查询
      • 使用 microsoft internet 信息服务和索引服务进行文件内容检索
      • 使用虚拟表进行文件内容查询
        • 使用 scope 函数进行文件系统查询
        • 使用文件属性进行文件内容检索
      • 使用文件内容和数据库数据进行全文查询示例