in(值列表)判断前面的某个内容的值是否在in()的值列表中,如果在就是满足,如果不在就是不满足
子查询:查询语句中嵌套查询语句
排序 order by
对结果集中数据做显示排序
order by排序字段 desc降序|asc升序,排序字段...
注意:根据某个字段做排序的时候默认升序排列
null
nulls first 所有null在前
nulls last 所有null值在后
exixts 存在即合理,存在即合法
从from的数据源中拿每一条数据,判断where是否满足where条件,where中exists(值列表)值列表中是否存在结果数据,如果存在当前从数据源中判断的数据就满足条件,如果不存在,当前这个判断的数据就不满足条件
函数
单行函数:一条记录返回一个结果
多行函数|聚合函数|组函数:多条记录返回一个结果
日期可以直接+-
add_months(基准日期,十一月份)
trunc参数取整 last_day next_day
to_char(日期对象,'模板')日期对象转为字符串
to_date(日期字符串,'模板')日期字符串转为日期对象
判定函数
decode(判断字段,值1,结果1,值2,结果2,...默认值)
case when then else end
注意:使用判断函数时候,如果没有满足条件的判断结果,默认显示null。
组函数|多行函数|聚合函数:多条记录返回一个结果
count() sum() max() min() avg()
注意:null值不参与运算
如果select后面一旦出现了组函数,只能与其他组函数或者分组字段一起使用,组函数不能使用在where后面
分组:group by 分组字段1,分组字段2...
group by 分组字段 having 组过滤条件 order by 排序字段
执行顺序:from-where-group by-having-select-order by
注意:sql语句中一旦分组,之后只能使用分组字段或者组函数
where后面不能使用组函数,having后面可以
行转列