你所在的位置: 首页 > Oracle > OCA >
最新开班 班级 报名状态
9月16日 HCNP-R&S(含初级) 热招中
9月18日 RHCSA脱产班 热招中
9月25日 HCNA-Cloud Service 热招中
9月25日 HCNA-Cloud Service 热招中
9月30日 HCNA-R&S周末班 热招中
10月31日 HCNP-storage脱产班 热招中
10月23日 HCNA-storage脱产班 热招中
10月20日 HCNP-R&S脱产班 热招中
10月10日 HCIE-R&S脱产班 热招中
10月9日 HCNA-R&S脱产班 热招中
  • 博赛网络ICT就业班热招中
  • 博赛推出Oracle OCM实战课程

oracle简单查询及常用函数

时间:2013-10-14 10:07 作者:Superthink 点击:

4.1 简单查询及常用函数

使用select语句检索数据的最基本语法形式如下:
Select [all|distinct] <目标列表达式> [,目标列表达式] …
FROM <表或视图> [,<表或视图>]…
[Where <条件表达式>]
[group by <列名1> [having <条件表达式>]]
[order by <列名> [ASC|DESC]]
Select column_list from table_name;

实例:
学生-课程 关系
学生表: student(Sno, Sname, Ssex, Sage, Sdept)
课程表: Course(Cno, Cname, Cpno, Ccredit)
学生选课表: SC (Sno, Cno, Grade)

单表查询
查询表中的指定列
Select Sno, Sname 
from student;
 
查询经过计算的列
Select Sname, (2009 – Sage) 
From student;

目标表达式还可以式字符串常量、函数等。
Select ‘巴门尼德’ , Sname , (2009 – Sage) 
From student;


在查询满足条件的记录,我们可以通过where字句来实现。
Select column_list from table_name where conditions;

where 常用查询条件
比较: =, <, >, >=, <=, !=, <>, !>, !< 
范围:  between and , not between and
确定集合:  In, not in
字符匹配: Like, NOT Like
空值: is null, is not null
多重条件: AND , OR

对结果进行排序:
我们可以用order by 字句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列。 缺省值维升序。

使用集合函数
Count([DISTINCT|ALL] *[列名])  统计记录个数(字段个数)
SUM([DISTINCT|ALL] *[列名])  计算一列的总和。
AVG([DISTINCT|ALL] *[列名])  计算一列的平均值
MAX([DISTINCT|ALL] *[列名])  计算一列的最大值
MIN([DISTINCT|ALL] *[列名])   计算一列的最小值

对查询结果分组
GROUP BY 字句将查询结果表按照某一列或多列值分组,值相等的为一组。
分组的目的是为了细化集合函数的作用对象。

Having短语式对组条件的判断,筛选组对象。

Having短语和Where字句的区别在于作用对象不同。 Where 字句作用于基本表或视图,从中筛选满足条件的记录。Having作用于分组对象。筛选满足条件的组。

在使用sql语句时我们经常会用到distinct, * 等关键字。 
Distinct 确保在column_list中不出现冗余的组合。也就是我们常常说的去掉重复。
* 关键表示要查询所有字段。  
 我们在查询时还需要经常使用几个合计函数。
  Count() 函数是统计记录个数;
  Sum() 汇总该列所有字段的值。
  Max()  取该列中最大的值。
  Min()  取该列中最小的值。

(责任编辑:Superthink)

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)