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 ;

总结


相关推荐
帅次5 分钟前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
明志数科9 分钟前
人形机器人格斗场景下的技术挑战:动力学控制、感知融合与实时决策
网络·数据库
酉鬼女又兒10 分钟前
零基础入门 DeepSeek V4 Pro API 开发:从环境搭建、消息格式规范到翻译函数实战、少样本提示、多轮对话聊天机器人与常见报错全流程详解指南
大数据·网络·数据库·人工智能·macos·机器人·github
笨蛋不要掉眼泪15 分钟前
MySQL架构揭秘:MVCC解决读一致性问题
数据库·mysql·架构
X-⃢_⃢-X18 分钟前
一、第一阶段:认识 Spring Boot
java·spring boot·后端
前端工作日常27 分钟前
我学习到的Java程序的生命周期
java·后端
Navicat中国1 小时前
开发者入门:无服务器数据库
数据库·云原生·serverless·navicat
SunnyDays10111 小时前
Java 实现 PDF 页面删除、排序、旋转和裁剪
java·pdf
人工干智能1 小时前
科普:Pandas 索引器 loc 与 iloc 的编程思维
java·人工智能·pandas
持力行2 小时前
C++与Java变量声明、定义及内存分配的核心区别
java·开发语言·c++