本文将为您描述SQL Server 高级sql总结,具体操作方法:
  1、查询表中所有的数据
  -----------select * from 表名
  -----------select all id,name from 表名
  -----------select id,name from 表名
  2、查询表中完全匹配的数据
  -----------select * from 表A,表B where 表A.id=表B.id
  ---------- select * from 表A inner join 表B on 表A.id=表B.id
  3、数据过滤【完全过滤/字段过滤】
  ----------- select distinct * from 表A
  -----------select distinct(字段) from 表A
  4、数据统计
  -----------select count(*) from 表A
  -----------select count(1) from 表A
  -----------select count(字段) from 表A
  -----------select count(distinct 字段) from 表A
  5、查询前N条数据
  -----------select top n * from 表A
  -----------select top (n) * from c order by id desc
  6、查询中的in和not in 与exists和 notexists
  ----------select * from 表A where not exists (select * from 表B where id =表A.id)
  ----------select * from 表A where exists (select * from 表B where id =表A.id)
  ---------select * from 表A where id in (select id from 表B)
  ---------select * from 表A where id not in (select id from 表B)
  7、数据库中and与or的用法
  --------select * from 表A where 字段A='' and 字段B=''
  --------select * from 表A where 字段A='' or 字段B=''
  8、union和union all进行并集运算
  --------select id, name from 表A where 字段 like '%'unionselect id, 字段 from 表A where id = 4 ---------------------并集不重复
  --------select * from表A where name like '%'union allselect * from 表A---------------------并集重复
  ---------select * from 表Awhere 字段like '%'intersectselect * from 表A--------------------------交集(相同部分)
  ----------select * from 表Awhere 字段like '%'exceptselect * from 表Awhere 字段like '%' -------------除去(相同部分)
  9、聚合函数
  ---------selectmax(字段)表A
  ---------select min(字段)表A
  ---------select count(字段)表A
  ---------select avg(字段)表A
  ---------select sum(字段)表A
  ---------select var(字段)表A
  10、日期函数
  -------select dateAdd(day, 3, getDate())
  -------select dateAdd(year, 3, getDate())
  -------select dateAdd(hour, 3, getDate())
  ---------------------计算返回数据----------------
  ----------select dateDiff(day, '2016-01-01', getDate())
  ----------select dateDiff(second, '2016-01-0100:00:00', getDate())
  ----------select dateDiff(hour, '2016-01-0100:00:00', getDate())
  ----------select dateName(month, getDate())
  ----------select dateName(minute, getDate())
  ----------select dateName(weekday, getDate())
  ---------select datePart(month, getDate())
  ---------select datePart(weekday, getDate())
  ---------select datePart(second, getDate())
  ---------select day(getDate())
  ---------select day('2016-01-01')
  --------select month(getDate())
  --------select month('2016-01-01')
  --------select year(getDate())
  --------select year('2016-01-01')
  --------select getDate()
  --------select getUTCDate()
  11、数学函数
  -------select pi()
  -------select rand(100), rand(50), rand(), rand()
  -------select round(rand(), 3), round(rand(100), 5)
  -------select round(123.456, 2), round(254.124, -2)
  -------select round(123.4567, 1, 2)
  12、字符串
  ------select len(字符串)
  ------select reverse(字符串)
  ------selectleft(字符串, 4)
  ------selectright(字符串, 4)
  ------select lower('abc'), lower('ABC')
  ------select upper('ABc'), upper('abc')
  13、创建数据库
  -------create database 库名称
  14、删除数据库
  ------drop database 数据库名称
  15、备份sql
  -----use master exes sp_addumpdevice '数据库' ,'备份名称','备份地址'
  16、开始备份
  ----- backup database pubs to'备份名称'
  17、创建表
  ------create table 表名称
  18、删除表
  ------drop table表名称
  19、增加列
  ------alter table 表名称 add column col 列名称
  20、创建视图
  -------create view 视图名称
  21、删除视图
  -----drop view视图名称
  22、复制表数据
  -------select * into 表B from 表A
  ------select top 0into 表B from 表A
  23、between的用法
  ------select * from 表A where time between time1 and time2
  -----select * from 表A where id between id1 and id2