第一节
本节知识点
单表查询
本节目标
能够熟练的写出单表查询的sql语句
1.1 单表查询-条件查询和去重查询
1.1.1知识概述
1.1.1.1 条件查询
运算符有:
=:精确查询,等号两边的值是相等的;userid=’101’
like:模糊查询,’%条件%’;username like ‘%张%’
and:并集,两边的条件都成立,才可以;username like ‘%张%’ and userage =30
or:或者,两边的条件有一个成立就可以;username like ‘%张%’ or userage =30
and和or的优先级:and > or;可以使用()来改变条件判断的顺序。
<=、>=:范围查询;sal >=100、sal <=3000
Between .. and ..:在某个范围内;sal between 100 and 3000
In:在某个集合内取值;username in (‘101’,’102’,’103’,’104’)
空值查询:is null、is not null
1.1.1.2 去重查询
关键字:distinct;作用域是记录。
1.2 单表查询-排序查询和伪列查询
1.2.1 知识概述
1.2.1.1 排序查询
1、升序
select* from T_ACCOUNT order by usenum [asc];
2、降序
select * from T_ACCOUNT order by usernum desc;
作用域是最近的一个
1.3.1.2 伪例查询
1、rowid:该行记录的物理地址,可以通过指定rowid的值来查询记录
2、rownum:在查询结果集中rownum为结果集中每一行标识一个行号,在表记录扫描时生成。
应用场景:分页查询、top-n问题
第二节
本节知识点
单表聚合统计
多表查询
--内连接
--外连接
本节目标
能够独立分析多个表之间的关系。
能够熟练的写出多表关联的查询语句。
2.1 单表查询-聚合统计
2.1.1 知识概述
聚合函数:
SUM:求和 select sum(usenum) from t_account where year=’2012’
AVG:求平均 select avg(usenum) from T_ACCOUNT where year='2012'
MAX:最大值select max(usenum) from T_ACCOUNT where year='2012'
MIN:最小值select min(usenum) from T_ACCOUNT where year='2012'
COUNT:统计记录个数select count(*) from T_OWNERS t where ownertypeid=1
分组聚合:
GROUP BY:select areaid,sum(money) from t_account group by areaid
分组后条件查询:
select areaid,sum(money) fromt_account groupbyareaid having sum(money) > 169000
第五节
本节知识点
单行函数
转换函数
其他函数
行列转换
本节目标
能够熟练完成number、varchar2、date类型之间的转换
能够使用case when then end,decode完成行列转换
5.1 单行函数-转换函数
5.1.1知识概述
常用的转换函数:
TO_DATE():
TO_NUMBER():
TO_CHAR()
5.2 单行函数-其他函数
5.2.1知识概述
1、空值处理函数NVL/NVL2
2、条件取值
3、case when then end
5.3 行列转换
5.3.1知识概述
case when then end的实际应用
使用case when then end能实现的都能使用decode实现