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
- 别称具有使用范围,可以直接改列名
SQL View
1.表1的项拉到表2的项,以大头为准
2.join之类的不会,可以通过拉试图再复制SQL语句