SQL语句培训教材Word文件下载.docx

上传人:b****3 文档编号:15143338 上传时间:2022-10-28 格式:DOCX 页数:64 大小:48.34KB
下载 相关 举报
SQL语句培训教材Word文件下载.docx_第1页
第1页 / 共64页
SQL语句培训教材Word文件下载.docx_第2页
第2页 / 共64页
SQL语句培训教材Word文件下载.docx_第3页
第3页 / 共64页
SQL语句培训教材Word文件下载.docx_第4页
第4页 / 共64页
SQL语句培训教材Word文件下载.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

SQL语句培训教材Word文件下载.docx

《SQL语句培训教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL语句培训教材Word文件下载.docx(64页珍藏版)》请在冰豆网上搜索。

SQL语句培训教材Word文件下载.docx

+

将两个数或表达式进行相加

A=c+b

-

将两个数或表达式进行相减

34-12

*

将两个数或表达式进行相乘

12*34

/

除以一个数或表达式

18*11

NULL

空值判断

Wherenameisnull;

||

字符串连接

‘101-’||tel_num

=

等于测试

Select*fromemp

wherename=’王五’;

!

=或<

>

或^=

不等于测试

wherename!

=’王五’;

<

小于测试

Wheresal<

5000;

大于测试

Wheresal>

小于等于测试

=5000;

大于等于测试

Notin

测试某值是否在一个指定的结果集中

Selectname,addrfromexpert

wherelocalnotin(‘北京’,’上海’);

ANY

将一个值与一组值进行比较,返回满足条件的结果。

必须跟!

=,<

>

<

=,>

selectename,salfromempwheresal<

=any(selectsalfrom

empwheredeptno=10)

SOME

同ANY,必须跟!

ALL

将一个值与一组值比较,返回满足条件的所有列值。

Selectname,salfromemp

Wheresal<

all(500,800,1200);

Notbetween

AandB

判断某个值是否界于两者之间。

Selectname,salfromempWhere

salbetween500and1200;

[not]exists

判断某个列是否存在于一组值中。

selectdname,deptnofromdeptwhereexists

(select*fromempwhere=

A[not]likeb

[Escape‘char’]

比较两个模式是否相似,当使用like语句时Oracle不去访问索引。

Select*fromemp

Whereenamelike‘TH%’;

Is[not]null

测试值是否为空。

Selectename,deptnofromemp

Wherecomm.Isnullorcomm.=0;

Not

对结果的否定。

Wheresalnot(sal<

1000);

等价于

selectename,salfromempwheresal>

=1000;

AND

用于判断两个条件十分都满足。

Select*fromempwhere

Ename=’SIMTH’andsal>

OR

用于判断两个条件中是否有一个满足。

Ename=’SIMTH’orename=’SCOTT’;

UNION

用于返回(组合)两个查询中所有唯一的行。

Selectenamefromempunion

Selectenamefromemp;

UNIONALL

用于返回(组合)两个查询中所有所有的行。

INTERSECT

用于返回两个查询中相同的行。

Selectenamefromemp1intersectselectenamefromemp2;

MINUS

用于返回两个查询中的不同的行。

2、简单查询

当我们可以用SQL*PLUS登录到SQL>

下后,我们可以用DESC显示某表的结构,也可以用select语句简单查询表中的一些列的内容。

例:

要查询T_person表中人员的姓名、出生日期及出生地,则:

SQL>

selectname,dob,natal_placefromt_person;

3、伪列及伪表

Oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象(如建表)时由我们完成的,而是在我们建立对象时由自动Oracle完成的。

Oracle目前有以下的伪列:

CURRVALandNEXTVAL使用序列号的保留字

LEVEL查询数据所对应的级

ROWID记录的唯一标识

ROWNUM限制查询结果集的数量

有关伪列的详细解释和使用见相关章节。

Oracle还提供了一个DUAL的伪表,该表主要目的是保证在使用SELECT语句中语句的完整性而提供的,如:

我们要查询当前的系统日期及时间,而系统的日期和时间并是放在一个指定的表里。

所以在from语句后就没有表名给出。

为了使用from后有个表名,我们就用DUAL代替。

如:

例1:

查询Oracle系统日期及时间:

selectto_char(sysdate,'

hh24:

mi:

ss'

)fromDUAL;

TO_CHAR(SYSDATE,'

YY

-------------------

07:

28:

09

例2:

计算一下5000+5000*的结果是多少,则:

select5000+5000*fromDUAL;

5000+5000*

5500

 

三、数据基本类型

Oracle数据库的数据类型与其它的数据库系统相比,它的数据类型不多,Oracle在表示数据方面比其他数据库系统来说要省去许多关键字。

Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。

其它如日期类型等也简单得多,只DATE就表示日期和时间。

下面以列表形式给出Oracle8i版本以上系统数据类型的表示方法。

数据类型

说明

Char

定长字符,≤2000个字符

Varchar

(同Varchar2)可变字符,≤4000个字符

Varchar2

变长字符,≤4000个字符

Date

固定长度(7字节)的日期型

Number

数字型,可存放实型和整型

Long

可变字符,≤2GB个字符

Raw

可变二进制数据,≤4000字节

Longraw

可变二进制数据,≤2GB

MLSLABEL

仅TrustedOracle用长度在2~5字节间

Blob

大二进制对象,≤4GB

Clob

大字符串对象,≤4GB

Nclob

多字节字符集的Clob,≤4GB

Bfile

外部二进制文件,大小由OS决定

createtablenchar_tst(namevarchar2(10),addrvarchar2(16),salnumber(9,2));

表已创建。

四、常用函数

1、单记录字符函数

函数

说明

ASCII

返回对应字符的十进制值

CHR

给出十进制返回字符

CONCAT

拼接两个字符串,与||相同

INITCAT

将字符串的第一个字母变为大写

INSTR

找出某个字符串的位置

INSTRB

找出某个字符串的位置和字节数

LENGTH

以字符给出字符串的长度

LENGTHB

以字节给出字符串的长度

LOWER

将字符串转换成小写

LPAD

使用指定的字符在字符的左边填充

LTRIM

在左边裁剪掉指定的字符

RPAD

使用指定的字符在字符的右边填充

RTRIM

在右边裁剪掉指定的字符

REPLACE

执行字符串搜索和替换

SUBSTR

取字符串的子串

SUBSTRB

取字符串的子串(以字节)

SOUNDEX

返回一个同音字符串

TRANSLATE

TRIM

裁剪掉前面或后面的字符串

UPPER

将字符串变为大写

NVL

以一个值来替换空值

ASCII(<

c1>

是字符串。

返回与指定的字符对应的十进制数。

selectascii('

A'

)A,ascii('

a'

)a,ascii('

0'

)zero,ascii('

'

)spacefromdual;

AaZEROSPACE

----------------------------------------

65974832

赵'

)zhao,length('

)lengfromdual;

ZHAOLENG

--------------------

547401

CHR(<

I>

[NCHAR])

给出整数,返回对应字符。

selectchr(54740)zhao,chr(65)chr65fromdual;

ZHC

---

赵A

||(<

c2>

select(‘010-88018159’)||'

转23'

王五电话fromdual;

王五电话

-----------------

010-88018159转23

INSTR(<

[,<

j>

]])

在一个字符串中搜索指定的字符,返回发现指定的字符的位置。

C1:

被搜索的字符串

C2:

希望搜索的字符串

I:

搜索的开始位置,缺省是1

J:

出现的位置,缺省是1。

SELECTINSTR('

OracleTraining'

'

ra'

1,2)"

Instring"

FROMDUAL;

Instring

----------

9

LENGTH(<

c>

返回字符串c的长度。

l

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1