资源描述:
《oraclesql语句基础-基本函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、OracleSQL语句基础2009-08-2812:17OracleSQL语句基础1、SQL语句基础下面给出SQL语句的基本介绍。1.1、SQL语句所用符号操作符用途例子+-表示正数或负数,正数可省去+-1234.56+将两个数或表达式进行相加A=c+b-将两个数或表达式进行相减34-12*将两个数或表达式进行相乘12*34/除以一个数或表达式18*11NULL空值判断Wherenameisnull;
2、
3、字符串连接‘101-’
4、
5、tel_num=等于测试Select*fromempwherename=’赵元杰’;!=或<>或^=不等
6、于测试Select*fromempwherename!=’赵元杰’;<小于测试Select*fromempwheresal<5000;>大于测试Select*fromempwheresal>5000;<=小于等于测试Select*fromempwheresal<=5000;>=大于等于测试Select*fromempwheresal>=5000;Notin测试某值是否在一个指定的结果集中Selectname,addrfromexpertwherelocalnotin(‘北京’,’上海’);ANY将一个值与一组值进行比较,返回满足条件
7、的结果。必须跟!=,<,>,<=,>=selectename,salfromempwheresal<=any(selectsalfromempwheredeptno=10)SOME同ANY,必须跟!=,<,>,<=,>=ALL将一个值与一组值比较,返回满足条件的所有列值。必须跟!=,<,>,<=,>=Selectname,salfromempwheresal<=all(500,800,1200);NotbetweenAandB判断某个值是否界于两者之间。Selectname,salfromempWheresalbetween500a
8、nd1200;[not]exists判断某个列是否存在于一组值中。selectdname,deptnofromdeptwhereexists(select*fromempwheredept.deptno=emp.deptno)A[not]likeb比较两个模式是否相似,当使用like语句时Oracle不去访问索引。Select*fromempWhereenamelike‘TH%’;Is[not]null测试值是否为空。Selectename,deptnofromempWherecomm.Isnullorcomm.=0;Not对结果的
9、否定。Select*fromempWheresalnot(sal<1000);等价于selectename,salfromempwheresal>=1000;AND用于判断两个条件十分都满足。Select*fromempwhereEname=’SIMTH’andsal>=1000;OR用于判断两个条件中是否有一个满足。Select*fromempwhereEname=’SIMTH’orename=’SCOTT’;UNION用于返回(组合)两个查询中所有唯一的行。SelectenamefromempunionSelectenamefr
10、omemp;UNIONALL用于返回(组合)两个查询中所有所有的行。INTERSECT用于返回两个查询中相同的行。Selectenamefromemp1intersectselectenamefromemp2;MINUS用于返回两个查询中的不同的行。1.2、简单select查询当我们可以用SQL*PLUS登录到SQL>下后,我们可以用DESC显示某表的结构,也可以用select语句简单查询表中的一些列的内容。例:要查询EMP表中员工的姓名、工资及出生日期,则:SQL>selectename,sal,hiredatefromemp;伪
11、列及伪表Oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象(如建表)时由我们完成的,而是在我们建立对象时由自动Oracle完成的。Oracle目前有以下的伪列:CURRVALandNEXTVAL使用序列号的保留字LEVEL查询数据所对应的级ROWID记录的唯一标识ROWNUM限制查询结果集的数量Oracle还提供了一个DUAL的伪表,该目的表主要是保证在使用SELECT语句中语句的完整性而提供的,如:我们要查询当前的系统日期及时间,而系统的日期和时间并
12、是放在一个指定的表里。所以在from语句后就没有表名给出。为了使用from后有个表名,我们就用DUAL代替。如:例1:查询Oracle系统日期及时间:SQL>selectto_char(sysdate,'yyyy.mm.ddhh24: