关于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来实现是比较困难的. 假设我们有一张日志表,增长速度异常快.但 ...
随机推荐
- 关于idea easyui 引入css js
1.引用官方网站 <link rel="stylesheet" type="text/css" href="http://www.w3cscho ...
- Python 构建工具 buildout 的介绍与使用
来到了新公司上班,首先就是得把自己的环境给搭起来.知乎使用了buildout作为python项目的构建工具. 那么什么是 buildout ? buildout的是一款自动化构建工具.由Zope团队开 ...
- SVN连接不上,Host地址问题
链接https://svn.ct-ec:8888/svn/189cn-document C:\Windows\System32\drivers\etc 单独换成单行,就好了.
- 【python练习题】程序15
#题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. n = input('请输入成绩 :') n = int(n) if ...
- linux常用命令(个人总结)
1.快捷键: ctrl + l --------------------清屏 ctrl + c --------------------退出当前命令 ctrl + ...
- TP5.x——打印SQL语句
操作 使用fetchSql,然后sql就会只输出sql语句而不执行 var_dump(Db::name('user')->where(array('id'=>$this->_uid, ...
- P1130 红牌
题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括NN个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派 ...
- 三:C#对象转换Json时的一些高级(特殊)设置;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- Python中xlrd模块解析
xlrd 导入模块 import xlrd 2.打开指定的excel文件,返回一个data对象 data = xlrd.open_workbook(file) ...
- Codeforces1023E Down or Right 【贪心】
题目分析: 从起点开始询问终点连通性,优先右走.从终点开始询问起点连通性,优先上走. 代码: #include<bits/stdc++.h> using namespace std; in ...