知识点补充:
交换同一列两个值A,B的位置:update tb_name set col_name = (if col_name = A, B, A) 或者 update tb_name set col_name = (case when col_name = A then B else A end)union 组合了多个select语句结果,不包含重复值,union会将查询的值对应的列在一个字段里;union all 组合了多个select语句结果,包含重复值组合查询的使用:union,union all,intersect(只返回第一个语句与第二个语句里一样的记录),except(返回第一个语句有但第二个语句没有的记录)管理数据库事务的命令:COMMIT, SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT不等于:<>(sql语句的标准用法),!=和^=也可以在sql中使用group by语句对相同的数据进行分组,并可以供汇总函数使用分组数据,而order by只是让数据形成次序结合:等值结合,非等值结合,自结合,外部结合(join),笛卡尔结合
时间函数
时间与日期相加(datetime格式可以增加时间间隔):DATEADD(MONTH, -1(1), DATE)日期转换为字符串:DATENAME(MONTH, DATE)字符串转换为日期:CONVERT(VARCHAR, DATE, 103) (103代表一种格式,具体可查表)
语句优化
group by语句会占用CPU很大运行效率,所以一般在其前面用where语句缩小搜索范围子查询
感悟
做查询时,把目标分解成一个完整的流程图,从做开始的一步起,或嵌套查询或组合查询的解决问题