MySQL 表连接【内连接、左连接、右连接、索引、别名】

MySQL 表连接

简介:

数据库连接关系主要包含内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)三种数据库关系。

示例:

我们有两张表a、b,表结构如下:

a: b:

 

1、内连接

语句:select * from a join b on a.aID = b.bID

查询结果:


2、左连接

语句:select * from a left join b on a.aID = b.bID

查询结果:


3、右连接

语句:select * from a right join b on a.aID=b.bID

查询结果:


4、建立索引

当我们处理数据量偏大时,处理耗时是偏长的,这时候我们可以针对连接的字段建立索引,可以大幅缩短时间,具体示例如下:

alter table a add index (aID);

alter table b add index(bID);

注意:本文示例数据仅供熟悉语法,索引是否建立在数据量大的情况下效果明显,这里建立的索引与无索引的查询速度基本无差异。

5、对表名建立别名

在复杂的语句中,为了精简语句,我们常常会使用到别名来替代名字较长的表名,具体示例如下:

select * from 用户明细 yh join 订购明细 dg on yh.用户ID=dg.用户ID;

[mark]说明:yh、dg就分别是表 用户明细、订购明细的别名[/mark]