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) 编辑 收藏 举报