您的位置:首页 > 数据库

PostgreSQL数据库日常学习笔记9-连接查询

2017-10-17 00:00 525 查看
#创建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'),(2,'Lily'),(3,'Mary'),(5,'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;




参考链接:CSDN postgreSQL中的内连接和外连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PostgreSQL