T-SQL编程与高级查询

              T-SQL 简介

微软对SQL的扩展, 具有的SQL主要特点,同时增加里变量、运算符、函数、流程控制和注释等语言元素,使得其功能更加强大

T-SQL  语句的分类

  1、 变量声明,T-SQL语句中可以使用两种类型的变量, 局部变量   和    全局变量

  2、 数据定义语言(DDL)用来建立数据库及数据库对象

  3、 数据控制语言(DCL)用来控制数据库组件的存放取许可、权限等命令

  4、 数据操作语言(DML)用来操作数据库中数据命令

  5、 流程控制语言(FCL)用于控制应用程序流程的语句

 

局部变量
  局部变量必须以标记@作为前缀 ,如@age
  局部变量的使用也是先声明,再赋值
  局部变量赋值用set或select

全局变量
  局部变量必须以标记@作为前缀 ,如@age
  全局变量必须以标记@ @作为前缀,如@@version
  全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值

 

声明局部变量
     DECLARE   @变量名  数据类型

例如:
  DECLARE @name varchar(8)
  DECLARE @seat int

赋值
    SET @ 变量名 =值
    或SELECT  @变量名 = 值

例如:
  SET @name=‘张三’
  SELECT @name=UserName  FROM UserInfo     ————>       必须确保筛选出的记录只有1条
          WHERE UserId=1       

 

          全局变量都使用两个@标志作为前缀

变量 含义
@@ERROR 最后一个T-SQL错误的错误号
@@IDENTITY 最后一次插入的标识值
@@LANGUAGE 当前使用的语言的名称
@@MAX_CONNECTIONS 可以创建的同时连接的最大数目
@@ROWCOUNT   受上一个SQL语句影响的行数
@@SERVERNAME本地服务器的名称
@@TRANSCOUNT  当前连接打开的事务数
@@VERSION  SQL Server的版本信息

  

 

 

 

 

 

 

 

               

    IF-ELSE语句

 
SQL中的IF-ELSE语句
  IF(条件)
    BEGIN
      语句1
      语句2
      ……
    END
  ELSE
   BEGIN
      语句1
      语句2
      ……
   END
 

    lELSE是可选部分

l 如果有多条语句,才需要 BEGIN-END 语句块
 

CASE-END多分支语句

语句: 
  CASE
       WHEN 条件 1 THEN   结果 1
       WHEN 条件 2 THEN   结果 2
      ……
      ELSE 其他结果
  END
 

 

GO 的作用是什么?  整体提交 

流程控制语句有哪些?   IF   WHILE

            子查询

  1. 一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换
  2. 子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据
  3. 表连接更适合于查看多表的数据
 

       数据库的存在检测

 
   IF EXISTS SELECT * FROM 
         sysDatabases WHERE name=’stuDB’
         DROP DATABASE stuDB
   CREATE DATABASE stuDB
   …….— 建库代码略

 

 

                  EXISTS子查询的语法:

IF EXISTS (子查询)
    语句
如果子查询的结果非空,即记录条数 1 条以上,则 EXISTS (子查询) 将返回真( true ),否则返回假 (false)
EXISTS 也可以作为 WHERE 语句的子查询,但一般都能用 IN 子查询替
 

总结:

1.变量的赋值有哪两种方式?输出结果有哪两种方式,有什么区别? 

    变量赋值使用SET语句或SELECT语句;输出结果print语句和SELECT语句,print语句输出方式是文本形式,select是网格形式 

2.T-SQL语句用什么来表示语句块?

    语句块使用BEGIN…END

3.简单描述一下子查询可以如何划分?

    使用比较运算符的子查询、IN和NOT  IN子查询、EXISTS和NOT  EXISTS子查询。子查询若按所处位置划分,可以为子查询在WHERE关键字之后,子查询在FROM关键
    字之后、子查询在SELECT关键字之后。
 

 

 

 

转载于:https://www.cnblogs.com/tyuanyuan/archive/2013/05/06/3063491.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值