加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:47:08 所属栏目:百科 来源:网络整理
导读:#创建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,lastn
#创建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中的内连接和外连接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读