关于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来实现是比较困难的. 假设我们有一张日志表,增长速度异常快.但 ...
随机推荐
- flutter开发vscode用模拟器调试
android studio的太重,我装的是android sdk,使用avd的模拟器启动黑屏 启动夜神模拟器(已卸载) 建立连接: adb connect 127.0.0.1:62001 (夜 ...
- java学习之—并归排序
/** * 并归排序 * Create by Administrator * 2018/6/26 0026 * 下午 5:13 **/ public class DArray { private lo ...
- 配置Google Gmail分类和过滤器
简单的记两笔. 首先点击右上角的⚙️里面选择settings. 选择Filters and Blocked Addresses 在这个页面可以选择 create a new filter创建一个新的过 ...
- python学习笔记(2)--基本语法元素
来看一个非常简单的温度转换程序 #Tempconvert.py tempstr = input("输入:") if tempstr[-1] in ['F', 'f']: C = ( ...
- vue監聽屬性
使用$watch,就是監聽到某個值發生變化,執行回調函數.
- Vue数组更新及过滤排序
前面的话 Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示一个数组的过滤或排序的副本.本文将详细介绍Vue数组更新及过滤排序 变异方法 Vue 包含一组观察数组的变异方法,它们将会 ...
- cuda编程-并行规约
利用shared memory计算,并避免bank conflict:通过每个block内部规约,然后再把所有block的计算结果在CPU端累加 代码: #include <cuda_runti ...
- Razor Pages with ASP.NET Core 2
With ASP.NET Core 2 we get another way of building web applications. It’s one of those new things th ...
- hdu1878-并查集,欧拉回路
纯裸题..写着方便理解... 题意:判断一个无向图是否存在欧拉回路... 解题思路:并查集判断一下是否联通,然后再判断一下点的度数是否为偶数就行了: #include<iostream> ...
- 洛谷P1047校门外的树题解
题目 此题是一个模拟题,但需要注意的一点就是它的树是从数轴的0开始,所以我们也要从0开始,这样才能实现代码. 代码: #include<iostream> using namespace ...