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
);
接下来,我们把数据插入到两个表中:
```sqlINSERT 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中的内连接对于查找特定条件的行很有帮助。