postgresql-多表连接

postgresql-多表连接

内连接查询

内连接用于返回两个表中匹配的数据行,使用关键字INNER JOIN表示,也可以简写成JOIN;

sql 复制代码
select
	e.first_name ,
	d.department_id
from
	cps.public.employees e
join cps.public.departments d on
	e.department_id = d.department_id;

左外连接查询

左外连接返回左表中所有的数据行;对于右表,如果没有匹配的数据,显示为空值。左外连

接使用关键字 LEFT OUTER JOIN 表示,也可以简写成 LEFT JOIN

右外连接查询

右外连接返回右表中所有的数据行;对于左表,如果没有匹配的数据,显示为空值。右外连

接使用关键字 RIGHT OUTER JOIN 表示,也可以简写成 RIGHT JOIN

全外连接查询

全外连接等效于左外连接加上右外连接,返回左表和右表中所有的数据行。全外连接使用关

键字 FULL OUTER JOIN 表示,也可以简写成 FULL JOIN。

交叉连接查询

sql 复制代码
select 
concat(t1,'*',t2,'=',t1*t2) 
from generate_series(1,9) t1
cross join generate_series(1,9) t2;

简写

sql 复制代码
/*
 * 由于 employees 表和 departments 表中的 department_id 字段名称和类型都相同,可以使用USING连接查询
*/
select 
e.first_name ,
d.department_name 
from cps.public.employees e 
join cps.public.departments d 
using (department_id);
/*上述查询可以使用以下写法*/
select 
e.first_name ,
d.department_name 
from cps.public.employees e 
join cps.public.departments d 
on e.department_id = d.department_id ;

总结


相关推荐
YaoYuan93235 分钟前
Ubuntu22.04 中搭建基于 Qemu 的内核(驱动)开发环境
数据库
big狼王6 分钟前
SonarQube本地化搭建及代码检测并导出报告PDF
java·pdf·sonarqube·sonarscanner
杨筱毅7 分钟前
【Android】Handler/Looper机制相关的类图和流程图
android·java·流程图
hans汉斯7 分钟前
【计算机科学与应用】基于多光谱成像与边缘计算的物流安全风险预警模式及系统实现
大数据·数据库·人工智能·设计模式·机器人·边缘计算·论文笔记
SimonKing7 分钟前
【开发者必备】Spring Boot 2.7.x:WebMvcConfigurer配置手册来了(二)!
java·后端·程序员
叫我龙翔15 分钟前
【MySQL】从零开始了解数据库开发 --- 如何理解事务隔离性
数据库·mysql·数据库开发
DokiDoki之父17 分钟前
Spring—容器
java·后端·spring
一个龙的传说18 分钟前
springboot优雅停止的流程梳理
java·spring boot·rpc
你想考研啊37 分钟前
一、redis安装(单机)和使用
前端·数据库·redis
枫叶丹442 分钟前
【Qt开发】多元素类控件(三)-> QTreeWidget
开发语言·数据库·c++·qt