引言:Oracle中的连接分为内连接、外连接和笛卡尔连接。内连接又称为自然连接,外连接又分为左外连接(左连接)、右外连接(右连接)和全外连接(全连接)。
准备工作:首先创建两张表,并往表中插入一些数据。其sql语句如下
CREATE TABLE test1(name varchar2(20),age int);
CREATE TABLE test2(name varchar2(20),age int);
INSERT INTO test1 VALUES('Jack',23);
INSERT INTO test1 VALUES('Rose',22);
INSERTINTO test2 VALUES('Jack','28');
INSERT INTO test2 VALUES('Jim',30);
内连接(自然连接):
SELECT * FROM test1 t1,test2 t2 WHERE t1.name=t2.name;
运行结果为:
左外连接(左连接):
SELECT * FROM test1 t1 LEFT JOIN test2 t2 ON t1.name=t2.name;
或者:SELECT * FROM test1 t1,test2 t2 WHERE t1.name=t2.name(+);
运行结果为:
右外连接(右连接):
SELECT * FROM test1 t1 RIGHT JOIN tes2 t2 ON t1.name=t2.name;
或者:SELECT * FROM test1 t1,test2 t2 WHERE t1.name(+)=t2.name;
运行结果为:
全外连接(全连接):
SELECT * FROM test1 t1 FULL JOIN test2 t2 ON t1.name=t2.name;
运行结果为:
笛卡尔连接:
SELECT * FROM test1,test2;
运行结果为: