初学数据库

EOMONTH()查询日期数据所属月数的最后一天;

 

YEAR(COL)输出日期数据的年份、month(col)输出日期数据的月份;

 

查询数据时in与exist的区别:in是先查询条件,然后只查询一次条件。而exists是先运行select语句,查询出所有的数据以后在运行条件语句,多次查询,查询的次数是table.length;

 

having跟where的区别:having 和where 都是用来筛选用的,having 是筛选组 而where是筛选记录,另外having后面可以跟聚合函数,where不可以;

 

row_number窗口函数:赐予数据唯一的位次,row_number() over(条件)as 别名;

 

case when then else end:条件选择语句;

 

cross/full join:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录;

 

left/right (outer)join:既包括符号连接表的匹配连接行,也包括左(右)连接表的所有行;

 

dateadd();在日期中添加或减去指定的时间间隔,DATEADD(datepart,number,date):date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

 

DATEDIFF() 函数返回两个日期之间的天数:DATEDIFF(datepart,startdate,enddate),startdate 和 enddate 参数是合法的日期表达式。

 

left join on后面添加条件跟where后添加条件的区别:where后面增加的条件是对临时表生成后,进行过滤的。而on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

用LEFTJOIN时,条件直接放ON后面,是先筛选后连接,条件放WHERE后面,是先连接后筛选

 

posted @ 2019-07-26 14:11  丶阳光沙滩和少年  阅读(305)  评论(0编辑  收藏  举报