必须要学的SQL Server 的常用语句(满满的干货),拿走不谢~~~


前言

前几天做项目的时候遇到算数据百分比的问题,其中很多数据都不是现成的,所以用到了很多关于数据库的知识。我在这里把它一一列举出来,有需要的朋友拿走不谢!嘿嘿!


一、基本常用语句

具体写法如下:

选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
模糊查找:select * from table1 where field1 like ’%value1%- - -【like的语法很精妙!】
排序:select * from table1 order by field1 asc/desc- - -【asc升序/desc降序】
总数:select count(field1 ) as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

二、连接和分组

具体写法如下:

使用外连接
A、left  join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
select a.a, a.b, a.c, b.c, b.d, b.f from a left join b on a.a = b.c
B:right  join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
select a.a, a.b, a.c, b.c, b.d, b.f from a right join b on a.a = b.c
C:full/cross  join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
select a.a, a.b, a.c, b.c, b.d, b.f from a full join b on a.a = b.c
分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
在selecte统计函数中的字段,不能和普通的字段放在一起;

三、进阶级语句/函数

1.CASE WHEN

case when 在写判断语句常常被用到:

具体写法如下:
select case when field1=01 then 'true' else 'false' end from table1

2.DATEDIFF

datediff 函数是求两个日期的时间差的:

具体写法如下:
select datediff(day,field1,field2) as 'value' from table1

3.select嵌套

select 嵌套很实用,可以嵌套很多层,只要在from后面的select都加上()就可以:

具体写法如下:
select field1 from (select field1,count(field2) as value from table1 group by field1)a 

4.CAST 转换类型

cast 转换类型非常方便:

具体写法如下:
select CAST(field1 as int) from table1 【其中的int可以换成很多种类型,看你的需要】

5.GETDATE() 函数

getdate()表示当天日期,一般会结合datediff函数来计算时间差。

具体写法如下:
select datediff(day,field1,getdate()) as 'value' from table1

6.DISTINCT

distinct 翻译过来是 “独有的” 不用我说你们那么聪明肯定就知道可以实现什么效果了吧!

具体写法如下:
select distinct field1 FROM table1

总结

以上就是今天要讲的内容,本文简单介绍了SQL Server的使用。每一条语句都是博主亲笔书写,亲自验证。下篇继续~ 不见不散~ 喜欢记得三连哦! 你们的关心是我最大的动力了,博主需要你们的鼓励(●'◡'●)。
  • 21
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值