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

     <1>.T-SQL语句的分类
            1.变量声明:局部变量@和全局变量@@
            2.数据定义语言(DDL):用来建立数据库及数据库对象,绝大部分以create开头,如create table等
            3.数据控制语言(DCL):用来控制数据库组件的存取许可,授权等命令。
            4.数据操作语言(DML):用来操作数据库中数据的命令。如select ,update等。
            5.流程控制语言(FCL):用于控制应用程序流程的语句,如if,case等。
     <2>.批处理语句
            1.SQL批处理是一个或多个 Transact-SQL 语句的集合,由客户端一次性发送到SQL Server实以          完成执行。它表示用户提交给数据库引擎的工作单元。 同时,服务器将批处理语句编译成一个可执行单元,此单元称为执行计划。
            2.GO是SQL Server中批处理的分隔符;
            3. GO 的作用是什么?
               整体提交   

    <3>. 输出
            1.在c语言中,我们用printf() 方法输出。
            2.在C#中我们用Console.WriteLine()输出。
            3.在SQL里面我们用什么输出呢?
               print: 
                (1)  以文本形式输出 
               (2)输出一个字符串,如果有多个变量或常量要输出,用+连接;
               (3)如果类型不一致,用convert函数转换;
               (4)输出的结果不易被java等应用程序直接得到
               select: 
               (1)以结果集形式输出;
               (2)可同时输出多个;
               (3)输出的结果可以被java等应用程序直接得到;

    <4>.变量
            局部变量:
              局部变量必须以标记@作为前缀 ,如@age
              局部变量的使用也是先声明,再赋值
              局部变量赋值用set或select
            全局变量:
              局部变量必须以标记@作为前缀 ,如@@age
              全局变量必须以标记@ @作为前缀,如@@version
              全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值
            全局变量(全局变量都使用两个@标志作为前缀)
              变量                 含义
              @@ERROR         最后一个T-SQL错误的错误号
              @@IDENTITY         最后一次插入的标识值
              @@LANGUAGE         当前使用的语言的名称
              @@MAX_CONNECTIONS 可以创建的同时连接的最大数目
              @@ROWCOUNT  受上一个SQL语句影响的行数
              @@SERVERNAME         本地服务器的名称
              @@TRANSCOUNT  当前连接打开的事务数
              @@VERSION  SQL Server的版本信息

    <5>.逻辑控制语句(IF-ELSE语句)
              SQL中的IF-ELSE语句  
               IF (条件)
               BEGIN   
               语句1  
               语句2   
               ……
               END
               ELSE
               BEGIN
               语句1;
               语句2;   
               ……
               END
        注释: ELSE是可选部分,如果有多条语句,才需要BEGIN-END语句块
          逻辑控制语句(WHILE循环语句)
              SQL中的WHILE语句
              WHILE (条件)
              BEGIN
              语句1
              语句2
              ……
              BREAK
              END
         注释BREAK表示退出循环,如果有多条语句,才需要BEGIN-END语句块
          逻辑控制语句(CASE-END多分支语句)
              CASE
                  WHEN 条件1 THEN  结果1
                  WHEN 条件2 THEN  结果2
                  …… 
              ELSE 其他结果
              END
          流程控制语句有哪些?
            IF   WHILE

    <6>.什么是子查询
            采用子查询实现
               (1).子查询在WHERE语句中的一般用法:
               (2).SELECT … FROM 表1 WHERE 字段1 >(子查询)
               (3). 外面的查询称为父查询,括号中嵌入的查询称为子查询
               (4).UPDATE、INSERT、DELETE一起使用,语法类似于SELECT语句 
               (5).将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个     
    <7>.使用子查询替换表连接
             采用子查询
               (1).一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换
               (2).子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据
               (3).表连接更适合于查看多表的数据
             我们曾学习过的查询,合并多个表中的数据的方法有那些?
               (1).联合(Union)-合并多个数据表中的行
               (2).子查询-将一个查询包含到另一个查询中

               (3).联接-合并多个数据表中的列

    <8>. EXISTS子句有什么作用?
               通过在子查询中使用EXISTS子句,可以对子查询中的行是否存在进行检查。
    <9>.IN子查询有什么作用?
               IN子查询后面可跟随返回多条记录的子查询,用于检测某列的值是否在某个范围。
    <10>.变量的赋值有哪两种方式?输出结果有哪两种方式,有什么区别?
              变量赋值使用SET语句或SELECT语句;输出结果print语句和SELECT语句,print语句输出方式是文本形式,select是网格形式。
    <11>.T-SQL语句用什么来表示语句块?
               语句块使用BEGIN…END
    <12>.简单描述一下子查询可以如何划分?
               使用比较运算符的子查询、IN和NOT  IN子查询、EXISTS和NOT  EXISTS子查询。子查询若按所处位置划分,可以为子查询在WHERE关键字之后,子查询在FROM关键字之后、子查询在SELECT关键字之后

  • 相关阅读:
    java学习day03-循环结构
    java学习day03-运算符+分支结构
    java学习day02-标识符+关键字+注释+变量
    java学习day02-数据类型
    java学习day01-认识Java语言Hello world!
    私有仓库
    服务编排
    镜像原理
    docker部署应用
    docker数据卷和数据卷容器
  • 原文地址:https://www.cnblogs.com/ranfang/p/3057226.html
Copyright © 2011-2022 走看看