文章目录

  • 前言
  • 一、基本常用语句
  • 二、连接和分组
  • 三、进阶级语句/函数
  • 1.CASE WHEN
  • 2.DATEDIFF
  • 3.select嵌套
  • 4.CAST 转换类型
  • 5.GETDATE() 函数
  • 6.DISTINCT
  • 总结



前言

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



一、基本常用语句

具体写法如下:

选择: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的使用。