博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL SERVER 3 T-SQL编程与高级查询
阅读量:6227 次
发布时间:2019-06-21

本文共 1497 字,大约阅读时间需要 4 分钟。

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关键字之后。

转载于:https://www.cnblogs.com/yuchengping/archive/2013/05/02/3046412.html

你可能感兴趣的文章
Node.js:回调函数
查看>>
python 发送邮件 <QQ+腾讯企业邮箱>
查看>>
细数JDK里的设计模式
查看>>
Linux~上部署.net MVC出现的问题与解决
查看>>
DDD~充血模型和失血模型
查看>>
android DPI与分辨率的关系及计算方式
查看>>
forward_list
查看>>
伪分布式网络爬虫框架的设计与自定义实现(一)
查看>>
解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总
查看>>
MySQL 入门
查看>>
js的操作及css样式
查看>>
bootstrapValidator关于js,jquery动态赋值不触发验证(不能捕获“程序赋值事件”)解决办法...
查看>>
数据库设计基础>范式
查看>>
POJ 3461 Oulipo(模式串在主串中出现的次数)
查看>>
Openstack的镜像属性
查看>>
【分享】用Canvas实现画板功能
查看>>
C++走向远洋——46(教师兼干部类、多重继承、派生)
查看>>
spring IOC源码分析(1)
查看>>
「深入理解计算系统」从Hello World开始
查看>>
手写Json转换
查看>>