Oracle常用语句

1、ORDER BY排序函数,默认升序ASC:

例:按升序排列pname,降序排列time

SELECT * FROM t1 ORDER BY pname ASC, time DESC;

2、replace更改查询结果的显示值:

select replace(psex,'男','m') from t1;

3、按年、月查询,查询对象需是日期格式,如:

select * from t1 where to_char(date, 'yyyy')=1980;

否则,若日期为字符型格式,需要先转换为日期格式再转为字符查询:

select pname from t1 
where to_char(to_date(time, 'yyyy-mm-dd hh24:mi:ss'),'mm')=02; 

3、substr:字符截取函数

格式1,有两个数字:

 substr(string, int a, int b);

string 表示需要截取的字符串

a 表示截取的开始位置(注:当a等于0或1时,都是从字符串的第一位开始截取)

b 表示要截取的字符串的长度

格式2,只有一个数字:

substr(string, int a) ;  

从第a个字符开始截取后面所有的字符串,等同于:

substr(string, int a, len(string)-a) ; 

4、查询视图的创建语句:

select text from user_views where view_name=' v1';

5、为查询结果创建新表:

CREATE TABLE table_name AS SELECT * FROM T1;

6、联立查询具有相同列的两个表:

SELECT a.id, a.name, b.class FROM t1 a LEFT JOIN t2 b ON a.id=b.id;
或
SELECT a.id, a.name, b.class FROM t1 a , t2 b WHERE a.id=b.id;

7、两表联立更新数据:

UPDATE t1 SET name = (SELECT new_name FROM t2 WHERE t2.new_name = t1.name)
WHERE EXISTS(SELECT 1 FROM t2 WHERE t2.new_name = t1.name);

其中select 1返回的是每行都为常数‘1’的数据,如:
Oracle常用语句