zoukankan      html  css  js  c++  java
  • TSQL编程与高级查询

    1、T-SQL 与 SQL  

    SQL 第四代编程语言   你只需要告诉计算机你要做什么事情 例:  select update

    T-SQL 附加了第二代编程语言的特性,比如 流程控制(if-else while) 错误处理  存储过程  事物  触发器

    2、 SQL 注释 

    -- 单行注释   /* */  多行注释

    3、批处理 

    10条插入语句   不加go批处理关键字的话   sql引擎 会一条一条处理(会影响效率)     

                         加go批处理关键字的话     sql引擎 会一次性处理(提高处理效率)

    变量

    在T-SQL中,变量是能存储值并参与运算的一个实体,但在T-SQL的变量要比其他语言中的变量简单。

    在T-SQL中只有两种变量:全部变量和局部变量。全局变量是由系统所定义,而局部变量是由用户定义

    可对其赋值和使用。

    局部变量

    T-SQL中的局部变量是可以保存单个特定类型数据值的对象

    1、声明T-SQL局部变量的语法:

    1 declare {@变量名 数据类型【。。。。n】}  

     主意:如果要声明多个变量,请在定义的第一个局部变量后使用一个逗号分开。

    为T-SQL局部变量赋值

    为T-SQL局部变量赋值有两种方法:使用set语句和使用select语句,一般使用set语句

    赋值。

    T-SQL局部变量赋值的语法:

    set @变量名=值
    
    实例
    
    declare name varchar(10)
    
    set name='张三'

    全局变量

    全局变量是SQL server系统内部的变量其作用范围并不仅仅局限于某一个程序,而是任何

    程序均可以随时调用。

    常用的全局变量

     
    全局变量 说明
    @@connections 返回SQL Server自上次启动以来尝试的连接数,无论成功或失败
    @@error 返回上一次的标识值
    @@IDENTITY 返回上次插入的标识值
    @@LANGUAGE 返回当前所使用语言的名称
    @@MAX_CONNECTIONS 返回SQL Server实例允许同时进行的最大用户连接数
    @@ROWCOUNT 返回受上一语句影响的行数
    @@SERVICENAME 返回SQL Server的本地服务器的名称
    @@SERVICENAME 返回SQL Server正在其下运行的注册表项的名称
    @@TOTAL_ERRORS 返回SQL Server自上次启动之后所遇到的磁盘写入错误数
    @@TRANCOUNT 返回当前连接的活动事物数
    @@VERSION 返回当前的SQL Server版本、处理器体系结构、生成日期和操作系统

    输出语句

    在T-SQL中可以使用两种方式输出提示信息:使用print和select语句进行输出。

    print语句的语法:

    print{字符串 | 变量 | 函数 | 字符串表达方式}
    
    
    实例
    
    
    print 'sql server2008 '

    select的语法:

    select @@version as 'sql server 版本',getdate()'当前时间'

    T-SQL的流程控制

    T-SQL提供称为控制流的特殊关键字,用于控制T-SQL语句、语句块和存储过程的执行流。

    if.....else语句

    if....else语句是条件判断语句,它用于判断当某一条件成立时

    执行某语句或语句块,条件不成立时执行另一条语句或语句块

    if....else语句的语法形式:
    if(条件表达式)
    语句或语句块
    else
    语句或语句块
    
    
    if.....else的语法:
    
    begin
    
    ....语句
    end
    else
    begin
    ...语句
    end

    case语句

    使用case语句可以进行多个分支的选择。case具有两种格式:

    简单case格式。

    收索case格式。

    简单case格式的语法:
    case 测试表达式
    when 表达式 then 结果表达式 1
    【。。。n】
    [else 结果表达式 n]
    end
    搜索case格式的语法:
    case
    when 布尔表达式 then 结果表达式 1
    【。。。。n】
    [else 结果表达式 n]
    end 

    while语句

    while 语句是通过布尔表达是来设置一个条件,当条件成立时,重复执行一个语句或语句块,

    重复执行的部分成为循环体

    while语句的语法:
    while 布尔表达式
    {语句或语句块}
    【break】
    {语句或语句块}
    【continue】
    {语句或语句块}

    7 、子查询

    合并多个表中的数据的方法合并多个表中的数据的方法:

    • 联合(Union)-合并多个数据表中的行
    • 子查询-将一个查询包含到另一个查询中
    • 联接-合并多个数据表中的列

    EXISTS子句:

    通过在子查询中使用EXISTS子句,可以对子查询中的行是否存在进行检查。

    IN子查询:

    IN子查询后面可跟随返回多条记录的子查询,用于检测某列的值是否在某个范围。

    子查询划分:

    • 使用比较运算符的子查询
    • IN和NOT  IN子查询
    • EXISTS和NOT  EXISTS子查询。

    子查询若按所处位置划分,可以为子查询在WHERE关键字之后,子查询在FROM关键字之后、子查询在SELECT关键字之后。

  • 相关阅读:
    SQLite打开提示database disk image is malformed
    windows查看端口占用
    新浪SAE使用Thinkphp框架,禁用memcache节省豆子的方法
    Realtek 8168 安装 VMware ESXi 提示没有驱动
    13年国庆彩蛋
    Flex使用宋体渲染越南语显示错误
    微信 编码要UTF8
    WeiXin 验证成为开发者和更换服务器验证代码
    测试网络连通情况
    废弃sqlite代码,备查
  • 原文地址:https://www.cnblogs.com/xiongzhuang/p/3050963.html
Copyright © 2011-2022 走看看