执行顺序:
from:确定原始表
where:对原始表的数据进行筛选,符合条件的留下
group by:对留下的数据基于分组条件进行分组
having:对分组后数据进行过滤
select:对于留下的数据进行字段筛选或计算等...order by:排序永远放在最后执行
伪列
oracle独有的pl-sql的内容
rowid
根据数据在硬盘中存储的物理地址计算得来,
作用:数据的默认索引,底层使用
rownum对查询结果进行编号...select rowid,*from table //对
select 别名.* ,rowid from table 别名//对
子查询
子查询使用在where中
如某个查询结果为一条记录中一项(一行一列...:符合条件的数据
两个表顺序无要求,例:工号 部门号 部门号 部门名 若某一表多一行,大表中无那一行
左外连接(顺序有要求,左表为主,左去右找,左边表连接右边表,左找不到右,右部分空)
left (outer...order by 涉及的列上建立索引
应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
如:select id from t where num