一、环境准备:
1、创建表:
1.1、创建testa表
create table testa(aid int,aname varchar(40));
select * from testa;
1.2、创建testb表:
create table testb(bid int,bname varchar(40),age int);
select * from testb;
2、插入数据并提交:
2.1、向testa表中插入数据,并提交:
insert into testa values(1,'xiaoming');
insert into testa values(2,'LY');
insert into testa values(3,'KUN');
insert into testa values(4,'ZIDONG');
insert into testa values(5,'HB');
commit;
2.2、向testb表中插入数据,并提交:
insert into testb values(1,'xiaoming',10);
insert into testb values(2,'LY',100);
insert into testb values(3,'KUN',200);
insert into testb values(4,'ZIDONG',110);
insert into testb values(6,'niu',120);
insert into testb values(7,'meng',130);
insert into testb values(8,'mi',170);
commit;
二、实验演示:
1、left join 左联接
如 a left join b,b表匹配a表,数据以a表为主,a表数据全。
语句:select a.aid,a.aname,b.bid,b.bname,b.age from testa as a left join testb as b on a.aid=b.bid;
演示:
2、right join 右联接
如 a right join b,a表匹配b表,数据以b表为主,b表数据全。
语句:select a.aid,a.aname,b.bid,b.bname,b.age from testa as a right join testb as b on a.aid=b.bid;
演示:
3、inner join
如 a inner join b,a表匹配b表,数据取两张表共有的。
语句:select a.aid,a.aname,b.bid,b.bname,b.age from testa as a join testb as b on a.aid=b.bid;
演示:
4、union 合并两个或多个select的结果集,数据没有重复
注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
语句:select aid from testa union select bid from testb;
演示:
5、union all 合并两个或多个select的结果集,数据允许有重复的
语句:select aid from testa union select bid from testb;
演示:
