关于TSql
1、Sql:结构化查询语言(Structrued Query Language)
2、TSql:是Sql语言的另一种版本,且只能在SqlServer中使用。和Sql不同的是,TSql中增加了对变量的声明和使用。
TSql中的几个关键点
1、局部变量的声明declare @+任意字符 数据类型
2、局部变量的赋值(set 和select 两种方式,区别是什么?)select方式的赋值连接表格的使用而set方式的赋值不行,详细看下面代码
3、局部变量的使用和投影(打印)——select (投影),print(打印)——
4、TSql中的全局变量——看代码(常见的有@@identity:最后一次插入的标识列,@@rowCount:受上一个Sql影响的行数)
5、if语句
(
1、流程控制:查询学号20060202的学员信息如果平均成绩不合格就打印姓名和平均成绩,否则只打印学号
2、多分支语句:分等级打印学生成绩
3、使用 case语句把bool类型转为有意义中文
4、使用case分等级打印学生成绩信息
)
--局部变量 /*
declare @name varchar(8)-----name为变量名,varchar为数据类型
--局部变量赋值:
set @name = 值
select @name = 值
*/ /**/
--0声明和简单的使用变量
declare @name varchar(8)
--select @name = '划拉'
set @name = '划拉'
select @name
go select * from student --1.声明三个用于储存学号、出生日期、和平均成绩的变量并赋值
--set方式
declare
@stuId char(8),@stuBirth smalldatetime,
@stuAvgrade numeric(3,1)
set @stuId = ''
set @stuBirth = '1988-5-6'
select @stuAvgrade = '96.3'
select @stuId,@stuBirth,@stuAvgrade
--print @stuId
--print @stuBirth
go
--select方式
declare
@stuId char(8),@stuBirth smalldatetime,
@stuAvgrade numeric select @stuId = stuId, @stuBirth = stuBirth, @stuAvgrade = stuAvgrade from student
where stuName = '丽思'
select @stuId,@stuBirth,@stuAvgrade
go --全局变量 select @@error @@error --最后一个T-SQL错误的错误号
@@identity --最后一次插入的标识列
/*新增一名老师,同时立刻分配学生
insert into teacher('李磊')
declare @tid = @@IDENTITY
insert into studet values('学生A',@tid)
insert into studet values('学生B',@tid) select @@identity
*/ create table emp
(
empId int identity(1,1) primary key,
empName varchar(20)
) insert into emp values('张三')
insert into emp values('李四') select * from emp select @@identity @@language --当前使用的语言的名称
@@max_connections --可以创建的同时连接的最大数目
@@rowcount --受上一个SQL语句影响的行数
@@servername --本地服务器的名称
@@servicename --该计算机上的SQL服务的名称
@@timeticks --当前计算机上每刻度的微妙数
@@transcount --当前连接打开的事物数
@@version --SQL Server的版本信息 --2,查询上次自动增长变量值,上一个SQL语句影响的行数 select @@identity
select @@rowcount --流程控制
--IF语句
--3查询学号20060202的学员信息如果平均成绩不合格就打印姓名和平均成绩,否则只打印学号 declare
@stuId char(8),
@stuName varchar(10),
@stuAvgrade numeric; set @stuId = '';
select @stuName = stuName, @stuAvgrade = stuAvgrade from student
where stuId = @stuId if @stuAvgrade < 60
begin
print @stuName;
print @stuAvgrade;
end else
print @stuId; go --4多分支语句分等级打印学生成绩 declare
@stuId char(8),
@stuName varchar(10),
@stuAvgrade numeric; set @stuId = '';
select @stuName = stuName, @stuAvgrade = stuAvgrade from student
where stuId = @stuId if @stuAvgrade >= 90.0
print '优秀'
else if @stuAvgrade >= 80.0
select '良好'
else if @stuAvgrade >= 70.0
select '中等'
else if @stuAvgrade >= 60.0
select '及格'
else
select '不及格'
go --5使用 case语句把bool类型转为有意义中文 create table employee
(
empId int identity(1,1) primary key,
empName varchar(10) not null,
empSex bit not null
) insert into employee values('才干',1)
insert into employee values('小彬',1)
insert into employee values('丽丽',0)
insert into employee values('乐乐',0)
--给列起别名的版本
select empName as 姓名, 性别 =
case empSex
when 1 then '男'
when 0 then '女'
end
from employee --使用原表列名的写法
select empName, empsex =
case empSex
when 1 then '男'
when 0 then '女'
end
from employee --6.使用case分等级打印学生成绩信息 select 学号 = stuId, 姓名 = stuName, 平均成绩 =
case
when stuAvgrade > 90.0 then '优秀'
when stuAvgrade > 80.0 then '良好'
when stuAvgrade > 70.0 then '中等'
end
from student -- while 循环语句 while(1=1)-----条件永远成立
select * from student
关于TSql的更多相关文章
- T-SQL学习记录
T-sql是对SQL(structure query language )的升级.可以加函数. 系统数据库:master管理数据库.model模版数据库,msdb备份等操作需要用到的数据库,tempd ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- TSQL 分组集(Grouping Sets)
分组集(Grouping Sets)是多个分组的并集,用于在一个查询中,按照不同的分组列对集合进行聚合运算,等价于对单个分组使用“union all”,计算多个结果集的并集.使用分组集的聚合查询,返回 ...
- T-sql语句查询执行顺序
前言 数据库的查询执行,毋庸置疑是程序员必备技能之一,然而数据库查询执行的过程绚烂多彩,却是很少被人了解,今天哥哥要带你装逼带你飞,深入一下这sql查询的来龙去脉,为查询的性能优化处理打个基础,或许面 ...
- T-SQL 查询XML
我们经常在SQL Server列中存一些XML来作为配置文件或者是保存特殊信息,那么如何将其展开并查询它或将其呈现为关系数据? 其实在T-SQL 下可以很容易的实现. 示例xml <catalo ...
- T-SQL 转义select … like中的特殊字符(百分号)
众所周知,T-SQL中LIKE运算符使用%符号表示通配符.很多时候可能需要查询包含有%的数据,比如需要查询字段coupon中含有5%的数据.那么如何使用已经有百分号(%)符号的LIKE搜索字符串呢? ...
- T-SQL Recipes之Separating elements
Separating elements Separating elements is a classic T-SQL challenge. It involves a table called Arr ...
- T-SQL Recipes之Database Backups
The Problem 在DBA和T-SQL码奴日常工作中,比如常规检查,服务管理,数据库管理, 是其中最具挑战性的一个领域. 在相似任务中,比如索引碎片管理,统计管理,数据库备份是异常重要的,对任何 ...
- T-SQL Recipes之Organizing and Archiving Data
The Problem 当我们处理存档数据或内存数据时,我们想要自定义命名表名,数据库,架构加上日期,时间,或者应用名时,用标准的TSQL来实现是比较困难的. 假设我们有一张日志表,增长速度异常快.但 ...
随机推荐
- python爬虫scrapy的LinkExtractor
使用背景: 我们通常在爬去某个网站的时候都是爬去每个标签下的某些内容,往往一个网站的主页后面会包含很多物品或者信息的详细的内容,我们只提取某个大标签下的某些内容的话,会显的效率较低,大部分网站的都是按 ...
- python之路--while, 格式化输出, 编码
一 . while循环 while 条件: 循环体(break, continue) while True: content = input('你想对我说什么:,输入你最帅退出') if conten ...
- python学习笔记(10)--组合数据类型(字典类型)
理解映射: 映射是一种键(索引)和值(数据)的对应.字典是键值对的集合,键值之间无序.用大括号表示{},和dict()创建,键值对用冒号:表示. {键:值,键:值,键:值} >>> ...
- LODOP安装参数 及静默安装
在cmd命令里里静默安装lodop(c-lodop不能静默安装),本人的安装文件放在D:\lodopdownload\3060\Lodop6.224_Clodop3.060,如下所示: lodop静默 ...
- 想要配置文件生效 需要通过添加到web.xml加载到内存中
想要配置文件生效 需要通过添加到web.xml加载到内存中
- poj-2752(拓展kmp)
题意:求一个串所有的前后缀字串: 解题思路:kmp和拓展kmp都行,个人感觉拓展kmp更裸一点: 拓展kmp: #include<iostream> #include<algorit ...
- 【RNN】资源汇总
wesome Recurrent Neural Networks A curated list of resources dedicated to recurrent neural networks ...
- Qt 使用openGL 渲染NV12格式的视频
直接上代码 Nv12Render.h #ifndef NV12RENDER_H #define NV12RENDER_H #include <QOpenGLFunctions> #incl ...
- P2084 进制转换
原题链接 https://www.luogu.org/problemnew/show/P2084 这个题的思路就是先将输入的数字存到字符数组里,然后求出这一串数字中的非0元素的个数total,并记录最 ...
- 洛谷P1038神经网络题解
题目 这个题不得不说是一道大坑题,为什么这么说呢,这题目不仅难懂,还非常适合那种被生物奥赛刷下来而来到信息奥赛的学生. 因此我们先分析一下题目的坑点. 1: 题目的图分为输入层,输出层,以及中间层. ...