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;
-- right join
select * from tbl_a right join tbl_b on tbl_a.id=tbl_b.id;
查询结果:
idnameemailidnameemail1a_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
查询结果:
idnameemailidnameemail1a_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