Oracle中的内连接使用实践(oracle中内连接)

Oracle是目前广泛使用的关系型数据库。Oracle中的内连接可以使用于从两个表中检索满足特定条件的行。在Oracel中,内部连接使用“JOIN”关键字来把一个表(LEFT TABLE)中相关的行所以连接到第二个表(RIGHT TABLE)中,连接条件可以指定在WHERE子句中,也可以在ON子句中。下面我们就一起来看一个Oracle中内连接的实践例子,希望能够帮助以后的学习。

首先,我们创建两个表,这两个表名分别为:lefP和rightP。lefP表中有3列,分别是id,name和aaa;另一个rightTable中也有3列,列名为id,name和age。

“`sql

CREATE TABLE lefP(

id int,

name varchar(32),

aaa int

);

CREATE TABLE rightP(

id int,

name varchar(32),

age int

);


接下来,我们把数据插入到两个表中:

```sql
INSERT INTO lefP VALUES (1, 'Aaron', 18);
INSERT INTO lefP VALUES (2, 'Bob', 20);
INSERT INTO lefP VALUES (3, 'Candy', 19);
INSERT INTO rightP VALUES (1, 'Aaron', 20);
INSERT INTO rightP VALUES (4, 'Tom', 34);

然后,接下来我们就可以使用内连接来查询,语句为:

“`sql

SELECT *

FROM lefP l

JOIN rightP r

ON l.id = r.id


上面的查询语句是直接使用JOIN关键字,并把ON子句用来指定要比较的字段。由于不指定任何过滤条件,上面的查询语句将返回lefP和rightTable两张表中id相同(即id为1)的所有行。

```sql
id name aaa id name age
==============================
1 Aaron 18 1 Aaron 20

如果我们想查询name相同的行记录,可以进一步修改查询语句:

“`sql

SELECT *

FROM lefP l

JOIN rightP r

ON l.name = r.name


运行结果是:

```sql
id name aaa id name age
==============================
1 Aaron 18 1 Aaron 20

从结果看,可以发现,Oracle中的内连接对于查找特定条件的行很有帮助。


数据运维技术 » Oracle中的内连接使用实践(oracle中内连接)