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

#创建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;

参考链接CSDN postgreSQL中的内连接和外连接

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...