Home > Database > Mysql Tutorial > body text

数据库中内连接、外连接、全连接

WBOY
Release: 2016-06-07 14:53:26
Original
1025 people have browsed it

数据库中内连接、外连接、全连接 内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础把对应数据查出来(全连接是以多个表为基础) student表 no name 1 a 2 b 3 c 4 d grade表 no grade 1 90 2 98 3 95 www.2cto.com 内连接 inner join(查找条


数据库中内连接、外连接、全连接

 

内连接:把两个表中数据对应的数据查出来 

外连接:以某个表为基础把对应数据查出来(全连接是以多个表为基础) 

 

student表 

no name 

1 a 

2 b 

3 c 

4 d 

 

grade表 

no grade 

1 90 

2 98 

3 95 

  www.2cto.com  

内连接 inner join(查找条件中对应的数据,no4没有数据不列出来) 

语法:select * from student inner join grade on student.no = grade.no 

结果 

student.no name grade.no grade 

1 a 1 90 

2 b 2 98 

3 c 3 95 

 

左连接(左表中所有数据,右表中对应数据,即左边一定有数据,右边不一定有) 

语法:select * from student left join grade on student.no = grade.no 

结果: 

student.no name grade.no grade 

1 a 1 90 

2 b 2 98 

3 c 3 95 

4 d 

 

右连接(右表中所有数据,左表中对应数据,即右边一定有,左边不一定有) 

语法:select * from student right join grade on student.no = grade.no 

结果: 

student.no name grade.no grade 

1 a 1 90 

2 b 2 98 

3 c 3 95 

全外连接(表中数据=内连接+左边缺失数据+右边缺失数据)

  www.2cto.com  

语法:select * from student full join grade on student.no = grade.no 

结果: 

no name grade 

1 a 90 

2 b 98 

3 c 95 

4 d 

1 a 90 

2 b 98 

3 c 95 

 

交叉连接 (没有where字句时结果为笛卡尔积) 一般不用。

 

注:access 中不能直接使用full join ,需要使用union all 将左连接和右连接合并后才可以

Related labels:
source:php.cn
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!