#创建test数据库 create database test; #创建city表 ---create table city(id int,name text); ---insert into city values(0,'北京'),(1,'重庆'),(2,'天津'),(3,'上海'),(4,'哈尔滨'),(5,'拉萨'),(7,'苏州'); #创建person表 ---create table person(id int,lastname char(20)); ---insert into person values(0,'Tom'),'Lily'),'Mary'),'Coco'),(6,'Bill');
内连接返回两个表值相同字段。
#内连接 select * from city inner join person on city.id = person.id; #同上查询语句 select * from city join person on city.id = person.id; #试试看下面查询语句和上面查询语句结果是否会不同 select city.id,city.name from city join person on city.id = person.id;
全外连接,又称全连接,返回参与连接两个数据集合全部数据。
#全外连接 select * from city full outer join person on city.id = person.id; #全外连接另一种写法 select * from city full join person on city.id = person.id;
查询结果如下图所示。
对比全外连接和内查询结果可知,全外连接为2个表并集,任意一个查询结果有返回值皆返回信息,内查询返回两个查询结果交集。
#插入数据 insert into person values(9,'Green');
#左外连接 select * from city left outer join person on city.id = person.id; #另一种写法 select * from city left join person on city.id = person.id;
#右外连接 select * from city right outer join person on city.id = person.id; #另一种写法 select * from city right join person on city.id = person.id;