SQL真简单_常见功能词_执行顺序

顺序: from  --> where --> group by --> having --> select --> order by 

快速记忆方式: 倒数第一 排序  倒数第二 select  开头最新 from

----------------通俗解释-------------------

distinct    去重

limit         留几行数据

is not       不是

在order by字段 后加上asc / asc 升序/

desc     降序

join      多表联查/ 字段左右合在一起

union  内容合并 / 上下合在一起

with as  子表名

decode(course, '语文', score) 语文,    (单行函数),选择函数

group by 分组

max/min/avg  组合函数最值/平均值

over     开窗函数

data_sub('时间',-1)   时间间隔设置

----------------多表-------------------

from 表1,表2  92语法

from 表1join表2  99语法

/交叉连接cross join/ (inner) join/ left join/ right join/ full join/

等值连接:自然连接 :  自动做等值连接(同名字段|主外键字段) natural join

1,自然连接-----natural join- 自动做等值连接(比92不要写where了)

2,join ..using(同名字段) 指定使用哪个同名字段做等值连接-,也是系统自动做等值连接(连接条件省略)

3,join..on ,既能够做等值连接,也能做非等值连接--join..on(连接条件)

99语法的----内连接(inner) join

99语法的----外连接,全连接

----------------rownum -------------------

--rownum :  结果集中行记录的序号
--一个结果集就存在一份rownum
--rownum从1开始,每次+1,有规律,有顺序

groupby 和 rownum 谁执行? rownum先执行

-------------时间函数--------------
语法:date(字段名)  大小写都行
where   YEAR(字段名) = YEAR(NOW())
where   MONTH(字段名) = MONTH(NOW())
where   day(字段名) < 31

现在时间用 now()
add_months(字段名, 几)
//--只有月份有这个函数,日期改变用 +

date_sub('时间',interval 3 day)
date_add(尽量用这个,这个常用)
select date_format(now(),'%Y-%m-%d'); 

你可能感兴趣的:(高薪大数据,sql,数据库,java,大数据)