PG数据基本命令——连接(笔记)
在PostgreSQL中,有以下类型的连接:
- 内连接(INNER JOIN)
- 左外连接(LEFT OUTER JOIN)
- 右外连接(RIGHT OUTER JOIN)
- 全连接(FULL OUTER JOIN)
- 跨连接(CROSS JOIN)
1、内连接
PostgreSQL内部连接也被称为连接或简单连接。 这是最常见的连接类型。 此连接返回满足连接条件的多个表中的所有行。
语法:
SELECT table1.columns, table2.columns
FROM table1
INNER JOIN table2
ON table1.common_filed = table2.common_field;
实例:
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
INNER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;
2、左外连接
左外连接返回从“ON
”条件中指定的左侧表中的所有行,只返回满足条件的另一个表中的行。
语法:
SELECT table1.columns, table2.columns
FROM table1
LEFT OUTER JOIN table2
ON table1.common_filed = table2.common_field;
实例:
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
LEFT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;
输出结果:
3、右外连接
右外连接返回从“ON
”条件中指定的右侧表中的所有行,只返回满足条件的另一个表中的行。
语法:
SELECT table1.columns, table2.columns
FROM table1
RIGHT OUTER JOIN table2
ON table1.common_filed = table2.common_field;
实例:
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
RIGHT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;
执行结果:
4、全外连接
全外连接从左表和左表中返回所有行。
语法:
SELECT table1.columns, table2.columns
FROM table1
FULL OUTER JOIN table2
ON table1.common_filed = table2.common_field;
实例:
SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
FULL OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;
执行结果:
5、交叉连接
PostgreSQL跨连接(CROSS JOIN
)将第一个表的每一行与第二个表的每一行相匹配。 它也被称为笛卡尔积。
语法:
SELECT coloums
FROM table1
CROSS JOIN table2
实例:
SELECT NAME, DEPT
FROM EMPLOYEES
CROSS JOIN DEPARTMENT;
运行结果:
PG数据基本命令——连接(笔记)的更多相关文章
- .Net2.0连接PG数据注意事项
.Net2.0连接PG数据注意事项 第一次用.net操作PG[.NET2.0] 一:Npgsql版本问题 1:如果是.net2.0 建议用2.0.11.0[NuGet搜索npgsql第一个的最低版本 ...
- pg数据库杀掉连接
遇到异常连接时,需要将对应连接杀掉,可能是连接占用了过多CPU或是IO,影响了业务,或是时间过长的空闲事务. pg对于杀掉连接提供了专门的命令,一般情况下使用pg_cancel_backend就可以, ...
- [Hadoop大数据]——Hive连接JOIN用例详解
SQL里面通常都会用Join来连接两个表,做复杂的关联查询.比如用户表和订单表,能通过join得到某个用户购买的产品:或者某个产品被购买的人群.... Hive也支持这样的操作,而且由于Hive底层运 ...
- 如何用perl将表格中不同列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起. 表格内容如下: 员工号码 员工姓名 职位 入职日期 1001 张三 销售 1980/12/ ...
- Atitit 数据存储的数据表连接attilax总结
Atitit 数据存储的数据表连接attilax总结 1.1. 三种物理连接运算符:嵌套循环连接.合并连接以及哈希连接1 1.2. a.嵌套循环连接(nested loops join)1 1.3. ...
- 使用 ext3grep 恢复数据试验成功 笔记
使用 ext3grep 恢复数据试验成功 笔记 来源: Linux论坛 日期: 2009.07.07 10:03 (共有条评论) 我要评论 [Copy to clipboard] [ - ...
- Java EE数据持久化框架笔记 • 【目录】
章节 内容 实践练习 Java EE数据持久化框架作业目录(作业笔记) 第1章 Java EE数据持久化框架笔记 • [第1章 MyBatis入门] 第2章 Java EE数据持久化框架笔记 • [第 ...
- Tableau学习Step3——数据的连接与基本图形的制作
Tableau学习Step3--数据的连接与基本图形的制作 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一. 前言 本教程通过一个案例从浅到深来学习Tableau知识 案例概述 Nort ...
- PG数据库基本命令——查询(笔记)
1.插入数据(insert 语句) 语法: INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, ...
随机推荐
- java第二章总结与感想
本章主要介绍Java程序设计环境,下面一节一节的记录: 2.1 安装java工具箱(JDK): 2.1.1, 下载JDK: 这一节主要介绍了以下知识点: (1)jdk的下载地址: (2)一些java术 ...
- 上手d3js
0---什么是d3js: d3js是一个开源的,基于对svg操作的数据可视化框架,简单的说他提供了数据提供了一系列的数据可视化工具,可以用他很方便的创造出关于svg的动画:svg动画具有可伸缩,不失真 ...
- 7. Vulnerability exploitation tools (漏洞利用工具 11个)
Metasploit于2004年发布时,将风暴带入了安全世界.它是开发,测试和使用漏洞利用代码的高级开源平台. 可以将有效载荷,编码器,无操作生成器和漏洞利用的可扩展模型集成在一起,使得Metaspl ...
- BigData_Jia
#include <stdio.h> #include <string.h> #define MaxSize 10000 int n1, n2, i, k, times; ch ...
- webpack学习笔记(五)
1. 如果想编写一个libray的库,代码结构如下: -library -src -index.js -math.js -string.js math.js export function add(a ...
- MySQL 读写分离(转载)
原文地址:https://blog.csdn.net/justdb/article/details/17331569
- innobackupex一些常用备份选项
指定数据库备份[root@node1]# innobackupex --defaults-file=/data/3306/my.cnf --user=root --password=password ...
- LVS中Windows作为真实主机(RealServer)时的设置方法
最近,公司新推了一个电商项目,IIS+ASP.而上面大大规划了要用 LVS 负载均衡集群,在这个技术陈旧的企业,LVS 项目还是去年才真正推行.由于最开始是由我测试的,所以这次的部署又落到了我头上了. ...
- 【网络】IP子网划分详解
1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制分成了4字节,每字节8位,字节之间用符.(点)分隔,为了方便 ...
- 【C++】关键字inline
1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是 ...