初学数据库

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后面,是先连接后筛选

 

猜你喜欢

转载自www.cnblogs.com/wafs521/p/11250014.html