玖叶教程网

前端编程开发入门

Oracle学习笔记(四)运算符、集合运算、连接查询、伪列

Oracle运算符包括算术运算符、关系运算符和逻辑运算符。

1、Oracle算术运算符

Oracle算术运算符包括+、-、*、/四个,其中/获得的结果是浮点数。

2、Oracle关系运算符

Oracle关系运算符在where条件语句当中经常使用到,常用的关系如下:

符号

解释

符号

解释

=

等于

<>或者!=

不等于

>

大于

>=

大于或者等于

<

小于

<=

小于或者等于

3、Oracle逻辑运算符

Oracle的逻辑运算符有三个:AND、OR、NOT。

4、Oracle字符串连接符||

Oracle中利用字符串连接符||(即双竖线)来连接查询结果。

5、Oracle DISTINCT

Oracle DISTINCT关键字的作用可以对Oracle查询结果进行重复数据的消除。

DISTINCT语法结构:

SELECT DISTINCT 列1,列2,列3... from 表名;

语法解析:

当关键字DISTINCT后面只有一个列1时,表示的是单个字段查询结果的不重复数据,当后面跟着多个列值时,表示的是多个字段组成的查询结果的所有唯一值,进行的是多个字段的分组消除。

6、Oracle 条件查询

Oracle条件查询时经常使用=、IN、LIKE、BETWEEN...AND来作为条件查询的操作符。

=操作符

在条件查询语句中“=”表示列值等于一个固定值所查询出的结果。

IN操作符

在 Where 子句中可以使用 IN 操作符来查询其列值在指定的列表中的查询结果。

BETWEEN...AND

在 WHERE 子句中,可以使用 BETWEEN...AND 操作符来查询列值包含在指定区间内的查询结果 。

LIKE模糊查询

在Oracle条件查询where条件之中,当遇到查询值不清楚时,可以利用模糊查询LIKE关键字进行where条件的模糊查询。LIKE 关键字通过字符匹配检索出所需要的数据行。字符匹配操作可以使用通配符“%”和“_” :

1、%:表示零个或者多个任意字符。

2、_:代表一个任意字符。

3、\:指转义字符,“\%”在字符串中表示一个字符“%”。

7、Oracle集合运算

Oracle集合运算就是把多个查询结果组合成一个查询结果,oralce的集合运算包括:INTERSECT(交集)、UINION ALL(交集重复)、UINION(交集不重复)、MINUS(补集)。

1、INTERSECT(交集),返回两个查询共有的记录。

2、UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录。

3、UNION(并集不重复),返回各个查询的所有记录,不包括重复记录 (重复的记录只取一条)。

4、MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

当我们使用Oracle集合运算时,要注意每个独立查询的字段名的列名尽量一致(列名不同时,取第一个查询的列名)、列的数据类型、列的个数要一致,不然会报错。

8、Oracle连接查询

Oracle连接查询,包含内关联(inner jion )和外关联(outer join),其中外关联又分为左外关联(left outer join)、右外关联(right outer join)和全外关联(full outer join)其中外关联可以使用(+)来表示。

内连接

Oracle内连接:两张表通过某个字段进行内关联,查询结果是通过该字段按关系运算符匹配出的数据行。其中可以包括:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列。

2、不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值,这些关系运算符包括>、>=、<=、!>、!<、<>。

外连接:

外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。

1、left join(左联接)等价于(left outer join)返回包括左表中的所有记录和右表中联结字段相等的记录。

2、right join(右联接)等价于(right outer join)返回包括右表中的所有记录和左表中联结字段相等的记录。

3.、full join (全连接)等价于(full outer join)查询结果等于左外连接和右外连接的和。

9、Oracle伪列

Oracle的伪列是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。伪列只能查询,不能增删改。Oracle的伪列有:rowid、rownum。

ORACLE ROWID

Oracle表中的每一行在数据文件中都有一个物理地址, ROWID 伪列返回的就是该行的物理地址。使用 ROWID 可以快速的定位表中的某一行。ROWID 值可以唯一的标识表中的一行。通过Oracle select 查询出来的ROWID,返回的就是该行数据的物理地址。

ROWID代码:

select t.*,t.rowid from stuinfo t ;

ORACLE ROWNUM

ORACLE ROWNUM表示的Oracle查询结果集的顺序,ROWNUM为每个查询结果集的行标识一个行号,第一行返回1,第二行返回2,依次顺序递增。

ROWNUM 与 ROWID 不同, ROWID 是插入记录时生成, ROWNUM 是查询数据时生成。ROWID 标识的是行的物理地址。 ROWNUM 标识的是查询结果中的行的次序。

ROWNUM代码:

select t.stuid,t.stuname,t.sex,t.classno,t.stuaddress ,rownum  from stuinfo t ;

ROWNUM经常用来限制查询的结果返回的行数,求前几行或前几名的数据。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言