你所在的位置: 首页 > Oracle > OCA >
最新开班 班级 报名状态
8月17日 RHCSA脱产班 已报满
10月13日 RHCE周末班 已报满
11月18日 RHCSA脱产班 已报满
11月2日 RHCSA周末班 已报满
12月2日 红帽专题班 已报满
12月16日 红帽专题班 已报满
12月23日 红帽专题班 已报满
3月03日 RHCSA脱产班 热招中
4月23日 RHCSA脱产班 热招中
7月24日 红帽RHCE暑假 热招中
  • 博赛网络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)

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