2、伪列 1) Oracle 中伪列就像一个表列,但是它并没有存储在表中; 2)伪列可以从表中查询,但不能插入、更新和删除它的值; 3)常用的伪列有 ROWID 和 ROWNUM
ROWID:是表中行的存储地址,该地址可以唯一的标识数据库中的一行,可以使用 ROWID 伪列快速的定位表中的一行。
ROWNUM:是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数。
3、常用的聚合函数(组函数) 也称为多行函数,他们能处理每一行并返回一个结果,常用组函数:SUM、AVG、COUNT、MIN、MAX。
聚合函数是对于所有记录进行聚合的,有时候我们需要先对记录分组再进行聚合。 对记录的分组是通过关键字 GROUP BY 实现的,如:group by f1,f2,f3,当且仅当两条记录在所有属性在 f1、f2、f3 上达成一致,它们才是同一组的。 例:每一类图书的平均利润 sql:SELECT category,TO_CHAR(AVG(retail - cost),'999.99')as profit FROM books GROUP BY category.
HAVING 子句 1、用来限制一个查询返回的组; 2、如果需要使用组函数来限制组,那么必须使用 having 子句,因为 where 子句不能包含组函数。Having 子句指定了那些将显示在结果中。即: having 子句充当了组的 where 子句。 例:显示平均利润超过 15 美元的图书的种类 sql:SELECT category,TO_CHAR(AVG(retail - cost),'999.99')as profit FROM books GROUP BY category Having AVG(retail-cost)>15.
ORDER BY子句 1、用于末尾,默认升序
次排序 1、ORDER BY 子句只指定一列时,称为"主排序",如果住排序中的两行或更多行完全相同,那么次排序提供了另一个进行排序的手段。 例:查询按州降序排列的客户,有多个居住在某个特定州的客户时,将按城市的升序对客户排序。 sql:SELECT lastname,firstname,city,state FROM customers ORDER BY state desc,city;