Home > Database > Mysql Tutorial > Oralce 数据库表的连接分类

Oralce 数据库表的连接分类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 17:08:48
Original
876 people have browsed it

数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接(左边的表不加限

数据表的连接有: 
1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 
2、外连接: 包括 
(1)左外连接(左边的表不加限制) 
(2)右外连接(右边的表不加限制) 
(3)全外连接(左右两表都不加限制) 

3、自连接(连接发生在一张基表内) 


sql标准语法:
select table1.column,table2.column
from table1 [inner | left | right | full ] join table2 on table1.column1 = table2.column2;

inner join 表示内连接;left join表示左外连接;right join表示右外连接;full join表示完全外连接;
on子句用于指定连接条件。注意,如果使用from子句指定内、外连接,则必须要使用on子句指定连接条件;
如果使用(+)操作符指定外连接,,则必须使用where子句指定连接条件。

如果主表的主键列和从表的外部键列名称相同,那么可以使用 natural join 关键字自动执行内连接操作。
select  dname,ename from dept natural join emp;


举例说明:有两张表(students、classes)

 create table students(studentno number, studentname varchar2(20), classname varchar2(20))

 create table classes(id number, classname varchar2(20));

1)左外连接:

 当以上两表的数据分别为

students表:


classes表

执行以下左外连接语句:

select a.studentno, a.studentname, b.classname
      from students a, classes b
      where a.classid = b.classid(+);

结果截图:



注释:左链接则左边表的数据会全部显示

2)右外连接:

 当以上两表的数据分别为

students表:


classes表:



执行以下右外连接语句:

select a.studentno, a.studentname, b.classname
      from students a, classes b
      where a.classid(+) = b.classid;--注意此处(+)的位置,右外连接在左边,即相反的位置

结果截图:


注释:右链接则右边表的数据会全部显示

3)自然链接

以上两种表的数据情况下,执行以下自然链接语句,结果都一样:

select a.studentno, a.studentname, b.classname
      from students a, classes b
      where a.classid = b.classid;

结果截图:



总之,

左连接显示左边全部的和右边与左边相同的 
右连接显示右边全部的和左边与右边相同的 
内连接是只显示满足条件的!

linux

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template