美文网首页
《Sql Server编程》07-Sql Server Tran

《Sql Server编程》07-Sql Server Tran

作者: BroadZhang | 来源:发表于2020-06-05 15:12 被阅读0次

什么是Transact-SQL?

Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言。

什么是查询?

image.png

怎么查询?

image.png
  • 既然查询得到的“结果集”的结构类似于一张表,那么可以在“结果集”上继续进行查询吗?

查询

image.png

查询语法

SELECT    <列名> 
FROM      <表名> 
[WHERE    <查询条件表达式>] 
[ORDER BY <排序的列名>[ASC或DESC]]
image.png

数据查询基础例子

--1、查询表中所有数据
select * from Students1
select studentid,studentname,studentsex,studentage,studentheight,
studentbloodtype,studentbirthday
from Students1
--2、查询某几列
select studentid,studentname,studentsex from Students1
--3、列名起别名
--3.1 方法一:as
select studentid 学号,studentname 姓名,studentsex 性别 from Students1
select studentid as 学号,studentname as 姓名,studentsex as 性别 from Students1
--3.2 方法二:=
select 学号=studentid,姓名=studentname  from students1
select '学号'=studentid,'姓名'=studentname  from students1
--4、按条件查询
select * from students1 where studentSex='男'
select * from students1 where studentage>1
select * from students1 where studentSex='男' and studentage>1
select * from students1 where studentId=10000 or 
studentId=10002 or studentId=10003
select * from students1 where studentId in(10000,10002,10003)
select * from score where score>=60
-- 5.查询列值为空或者不为空的记录(不能使用=)
-- 错误
select * from students1  where studentAge=null
-- 正确
 select * from students1  where studentAge is null
 select * from students1  where studentAge is not null
--6、排序查询
-- 6.1 单列排列
 select * from students1 order by studentid asc
 select * from students1 order by studentid desc
  select * from students1 where studentsex='男'
  order by studentid desc

  select * from score
 select * from score order by score desc
--6.2按照多列排序(先统一按照order by后面的第一列排序,如果排序中出现
--相同值的才会按照后面的列继续排序)
 select * from score order by score desc,id asc

 create table foreigners
 (
 id int identity(1,1) primary key,
 firstname varchar(20),
 lastname varchar(20)
 )
 select id as 序号,lastname+'·'+firstname as 姓名
 from foreigners

 -- 7.返回限定行数(top n)
 select  top 5 * from students1 
 select  top  30 percent * from students1 
  -- 返回后5行
 select top 5 * from students1  order by studentid desc
 -- SQL Server中常用的函数
 -- 1.字符串函数
 select CHARINDEX('S','SQLServer')
 select len('1232435435')
 --check (len(pwd)>=6 && len(pwd)<=16)
  select len('你好啊')
  select DATALENGTH('abc你好啊')
  select UPPER('asfdsdfdsfds')
  select * from tb1
  select tb1_1,UPPER(tb1_2) from tb1
  select LOWER('SDsafdssdfSfd')  
  select '      sdfdsffdsfdsfds      '
  select LTRIM('     sdfdsffdsfdsfds      ')
  select RTRIM('     sdfdsffdsfdsfds      ')
  select RIGHT('SQL Server',6)
  select LEFT('SQL Server',3)
  select STUFF('SQL Server',3,2,'ABCD')
  select REPLACE('SQL Server','SQL','MySQL')

  --2、日期函数
  select GETDATE() --2018-11-29 11:34:19.000
  select DATEADD(mm,2,GETDATE())--2019-01-29 11:36:09.280
  select DATEADD(DD,7,GETDATE())--2018-12-06 11:37:11.850
  select DATEADD(DD,-3,GETDATE())--2018-11-26 11:37:49.760
  select DATEDIFF(dd,'1991/10/01',GETDATE())
  select dateName(dw,GETDATE())
    select dateName(dd,GETDATE())
    select dateName(dy,GETDATE())--333
select DATEPART(dw,GETDATE())

-- 3.数学函数
select ceiling(12.345)
select ceiling(12.0000001)
select ceiling(12.000000)
select FLOOR(12.345)
select FLOOR(12.999999)
select ROUND(12.456,2)
select ROUND(12.556,2)
select POWER(3,3)
select SQRT(81)
-- 4、系统函数
select CONVERT(int,'12345')
select CURRENT_USER   --dbo
select HOST_NAME()
select SYSTEM_USER
select USER_NAME()
--5、聚合函数(统计函数)
select * from students1

select count(studentid) from students1
select count(*) from students1
select * from score
select sum(score) from score
select avg(score) from score
select max(score) from score
select min(score) from score
select COUNT(*) as 总人数,sum(score) as 总分,
avg(score) as 平均分,max(score) as 最高分,
 min(score) as 最低分 from score

请关注我的公众号,简书号

![微信图片_20200503130052.jpg](https://img.haomeiwen.com/i22838787/375f928f357cb02f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 微信图片_20200503130052.jpg

相关文章

网友评论

      本文标题:《Sql Server编程》07-Sql Server Tran

      本文链接:https://www.haomeiwen.com/subject/esheohtx.html