• SQL SERVER 3 TSQL编程与高级查询


    1、T-SQL 与 SQL   

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

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

    2、 SQL 注释  

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

    3、批处理  

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

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

    4、 变量 

     分为 全局变量 @@(系统定义) 和 局部变量 @  

    (1)变量定义    declare  @变量名 变量数据类型   

      示例  declare @count int,@count2 int

              declare @count1 int     

    (2)变量赋值    set select  

      示例: set @count = 1    赋值只能一种           

               select @count = 1   赋值一般配合查询         

    例:  select @name = StuName from student where StuNo = 'S25301'        

    (3) 在加go关键字以前,存储过程结束以前  变量 都是起作用的        

    (4)常用的全局变量   @@ERROR   @@IDENTITY  @@ROWCOUNT

    5、输出 

    print 字符串 |变量|  函数|  字符串表达式

    6、流程控制语句  

    (1) if-else

      if(判断条件)  

     begin            

             语句1                

             语句2  

     end   

    else  

     begin     

             语句1                    

             语句2   

    end        

    (2) case  

     -- 简单格式  

     select pcid,    

              case PCUse      

    when 0 then '空闲'      

    when 1 then '忙碌'                 

    end as 'pcuse'           

       ,pcnote from pcinfo   

    -- 搜索格式  

     select pcid,                 

               case

                   when PCUse = 0 then '空闲'

                   when PCUse = 1 then '忙碌'   

     end as 'pcuse'

      ,pcnote from PCInfo

    (3) while                         

    while (循环成立的条件)  

       语句xxx     

      [break]   

      [continue]

    示例:

    declare @count int

    while(1=1)

    begin

     select @count = COUNT(*) from cardInfo where cardBalance < 20

     if (@count > 0)

      update cardInfo set cardBalance = cardBalance + 1 where cardBalance < 20  

    else  

     break

    end

    7 、子查询

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

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

    EXISTS子句:

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

    IN子查询:

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

    子查询划分:

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

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

  • 相关阅读:
    jQuery的父,子,兄弟节点查找方法
    我们的产品最终入驻淘宝服务市场
    iframe显示滚动栏
    自己定义控件三部曲之动画篇(十三)——实现ListView Item进入动画
    [叁]Pomelo游戏server编程分享 之 server结构与配置分析
    数列求和
    字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5
    Codeforces Round #257(Div. 2) B. Jzzhu and Sequences(矩阵高速幂)
    呼叫保持流程
    PDF转EPUB格式电子书经验总结
  • 原文地址:https://www.cnblogs.com/yuchengping/p/3046412.html
Copyright © 2020-2023  润新知