VikingsTHT

导航

SQL简单语法

(1)select

   SELECT 列名称 FROM 表名称

(2)distinct

   SELECT DISTINCT 列名称 FROM 表名称

SELECT * FROM 表名称
(3)where
   SELECT 列名称 FROM 表名称 WHERE 列 运算符 值


操作符描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

 


(3)AND  OR
      SELECT * FROM 表名 WHERE 列名称='值1' AND 列名称='值2'
      SELECT * FROM 表名 WHERE 列名称='值1' OR 列名称='值2'

(4) ORDER BY 语句用于对结果集进行排序

     SELECT * FROM 表名 WHERE 列名称='值1' AND 列名称='值2' ORDER BY 列名称

     SELECT * FROM 表名 WHERE 列名称='值1' OR 列名称='值2' ORDER BY  列名称

(5)INSERT INTO 语句
insert into 表名称 values (值1,值2......)
insert into 表名称 (列1,列2,列3)values(值1,值2,值3......)

  (6)UPDATE 语句

 

     UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

(7)DELETE 语句
     DELETE FROM 表名称 WHERE 列名称 = 值
(8)TOP 语句
select top 100 * from 表名称
(9)LIKE 语句
select * from where 列名称 like '%xxx' / '%xxx%' /'xxx%'

 (10)IN 操作符

     IN 操作符允许我们在 WHERE 子句中规定多个值。
语法:SELECT 列名 FROM 表名 WHERE 列名 IN (值1,值2,值3)
(11)SQL BETWEEN 操作符
SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2
(12)JOIN RIGHT JOIN LEFT JOIN FULL JOIN
  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行
语法:SELECT 表1.列1, 表1.列2,表2.列1  FROM 表1,表2 WHERE 表1.列X=表2.列X

(13)SQL INNER JOIN 关键字

语法:SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.列=表2.列

(14)SQL LEFT JOIN 关键字

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
语法:SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 表1.列名=表2.列名
(15)SQL RIGHT JOIN 关键字
语法:select 列名 FROM 表名1 RIGHT JOIN 表2 ON 表1.列=表2.列

(16)SQL FULL JOIN 关键字
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

SELECT 列 FROM 表1 FULL JOIN 表2 ON 表1.列=表2.列

(17)SQL UNION 和 UNION ALL 操作符

  UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1
UNION  
SELECT column_name(s) FROM table_name2

(18)date

   select 1 as 'dewefge'

  SELECT GETDATE() AS '当前时间'

  SELECT DATEPART(mm,getdate()) AS '月'
  SELECT DATEPART(dd,GETDATE()) AS '日'
  SELECT DATEPART(dy,GETDATE()) AS '星期'

  SELECT DATEADD(DD,-2,GETDATE()) AS '日期'
  SELECT DATEADD(DD,2,GETDATE()) AS '日期'

  SELECT DATEDIFF(DD,GETDATE(),(GETDATE()+10)) AS '日期间隔'
  SELECT DATEDIFF(DD,GETDATE(),(GETDATE()-10)) AS '日期间隔'
  SELECT DATEDIFF(DD,GETDATE(),(GETDATE())) AS '日期间隔'
      select datediff(y,'2015-08-15','2015-10-08') as '时间间隔'

  -- datepart 缩写
  -- 年 yy, yyyy
  -- 季度 qq, q
  -- 月 mm, m
  -- 年中的日 dy, y
  -- 日 dd, d
  -- 周 wk, ww
  -- 星期 dw, w
  -- 小时 hh
  -- 分钟 mi, n
  -- 秒 ss, s
  -- 毫秒 ms
  -- 微妙 mcs
  -- 纳秒 ns

(19)rank  rank(),dense_rank(),row_number()

select *, rank() over (order by [列名] desc) as 'rank' from 表名

select 列1,列2  dense_rank(order by [列名] desc ) as 'dese_rank'  from '表名'

SELECT 列1,列2,  ROW_NUMBER() OVER (ORDER BY 列) AS RowNumber FROM 表

 

 


 
 

 


 


 






posted on 2015-12-17 11:52  VikingsTHT  阅读(198)  评论(0编辑  收藏  举报