Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103789973
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-20 21:45:51

   文章来源:    

 

  三.查询语句 (SELECT) 部分

  SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 条件;

  字段名可以带入函数

  例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名),

  TO_CHAR(DATE字段名,'YYYY-MM-DD HH24:MI:SS')

  NVL(EXPR1, EXPR2)函数

  解释:

  IF EXPR1=NULL

  RETURN EXPR2

  ELSE

  RETURN EXPR1

  DECODE(AA﹐V1﹐R1﹐V2﹐R2....)函数

  解释:

  IF AA=V1 THEN RETURN R1

  IF AA=V2 THEN RETURN R2

  ..…

  ELSE

  RETURN NULL

  LPAD(char1,n,char2)函数

  解释:

  字符char1按制定的位数n显示,不足的位数用char2字符串替换左边的空位

  字段名之间可以进行算术运算

  例如: (字段名1*字段名1)/3

  查询语句可以嵌套

  例如: SELECT …… FROM

  (SELECT …… FROM表名1, [表名2, ……] WHERE 条件) WHERE 条件2;

  两个查询语句的结果可以做集合操作

  例如: 并集UNION(去掉重复记录), 并集UNION ALL(不去掉重复记录), 差集MINUS, 交集INTERSECT

  分组查询

  SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] GROUP BY字段名1

  [HAVING 条件] ;

  两个以上表之间的连接查询

  SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE

  表名1.字段名 = 表名2. 字段名 [ AND ……] ;

  SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE

  表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;

  有(+)号的字段位置自动补空值

  查询结果集的排序操作, 默认的排序是升序ASC, 降序是DESC

  SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……]

  ORDER BY字段名1, 字段名2 DESC;

  字符串模糊比较的方法

  INSTR(字段名, ‘字符串’)>0

  字段名 LIKE ‘字符串%’ [‘%字符串%’]

  每个表都有一个隐含的字段ROWID, 它标记着记录的唯一性.

阅读(240) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~