SQL个人笔记

237 阅读1分钟

SQL SERVER

CASE WHEN

  • 条件:case 列名 when 条件值1 then 选项1 ... else 默认值 end
  • 查找: case when 列名= 条件值1 then 选项1 ... else 默认值 end CSDN CASE

COUNT

COUNT() 函数返回匹配指定条件的行数。W33SCHOOL COUNT

CAST

CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。 SQL CAST

DATE

DATEDIFF

函数返回两个日期之间的时间。
DATEDIFF(datepart,startdate,enddate) DATEDIFF(MONTH,startdate, GETDATE()) = 0 :返回当月的时间

GETDATE()

GETDATE() 函数从 SQL Server 返回当前的时间和日期。

DATEADD

DATEADD() 函数在日期中添加或减去指定的时间间隔。
DATEADD(datepart,number,date) number 是希望添加的间隔数

DATEPART

DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
DATEPART(yyyy,date) 返回date的年部分

日期格式
yy, yyyy
年中的日dy, y
季度qq, q
mm, m
wk, ww
dd, d
星期dw, w
小时hh
分钟mi, n
ss, s

GROUP BY

注意:每查询一个条目,group by 要加一个条目

Sum

SUM( ) AS Name;
SUM 不算查询条目;

JOIN

JOIN/ INNER JOIN:

在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

RIGHT/ LEFT OUTER JOIN:

关键字会从右/左表 (table_name1) 那里返回所有的行,即使在左/右表 (table_name2) 中没有匹配的行。

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

FULL JOIN:

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

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

Tips

  1. 别称具有使用范围,可以直接改列名

SQL View

1.表1的项拉到表2的项,以大头为准
2.join之类的不会,可以通过拉试图再复制SQL语句