首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL left join right join inner join 差异

2012-08-11 
MySQL left join right join inner join 区别请看下面的语句注意比较06 和07的显示结果,自己测试的 语法没

MySQL left join right join inner join 区别

请看下面的语句

注意比较06 和07的显示结果,自己测试的 语法没有错误

-- left join , right join ,inner join 实验


CREATE DATABASE if NOT EXISTS join_test;
use join_test;
DROP TABLE If EXISTS tbl_a;
create table tbl_a (
id int(11) auto_increment primary key,
name varchar(255),
email varchar(255)
);

DROP TABLE If EXISTS `tbl_b`;
create table `tbl_b`(
`id` int(11) auto_increment primary key,
`name` varchar(255),
`email` varchar(255)
);
use join_test;
-- inset into tbl_a
insert into tbl_a values(1,'a_name_001','a_email_001');
insert into tbl_a values(2,'a_name_002','a_email_002');
insert into tbl_a values(3,'a_name_003','a_email_003');
insert into tbl_a values(4,'a_name_004','a_email_004');
insert into tbl_a values(5,'a_name_005','a_email_005');
insert into tbl_a values(7,'a_name_007','a_email_007');

-- insert into tbl_b
insert into tbl_b values(1,'b_name_001','b_email_001');
insert into tbl_b values(2,'b_name_002','b_email_002');
insert into tbl_b values(3,'b_name_003','b_email_003');
insert into tbl_b values(4,'b_name_004','b_email_004');
insert into tbl_b values(5,'b_name_005','b_email_005');
insert into tbl_b values(6,'b_name_006','b_email_006');

-- left join
select * from tbl_a left join tbl_b on tbl_a.id=tbl_b.id;

查询结果:

id name email id name email 1a_name_001a_email_0011b_name_001b_email_0012a_name_002a_email_0022b_name_002b_email_0023a_name_003a_email_0033b_name_003b_email_0034a_name_004a_email_0044b_name_004b_email_0045a_name_005a_email_0055b_name_005b_email_0057a_name_007a_email_007




-- right join
select * from tbl_a right join tbl_b on tbl_a.id=tbl_b.id;
查询结果:

id name email id name email 1a_name_001a_email_0011b_name_001b_email_0012a_name_002a_email_0022b_name_002b_email_0023a_name_003a_email_0033b_name_003b_email_0034a_name_004a_email_0044b_name_004b_email_0045a_name_005a_email_0055b_name_005b_email_0056b_name_006b_email_006




-- inner join
select * from tbl_a inner join tbl_b on tbl_a.id=tbl_b.id
查询结果:

id name email id name email 1a_name_001a_email_0011b_name_001b_email_0012a_name_002a_email_0022b_name_002b_email_0023a_name_003a_email_0033b_name_003b_email_0034a_name_004a_email_0044b_name_004b_email_0045a_name_005a_email_0055b_name_005b_email_005

热点排行