微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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中的内连接和外连接

原文地址:https://www.jb51.cc/postgresql/193507.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐