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 ;

总结


相关推荐
Coder_Boy_1 分钟前
【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机交互代码
java·人工智能·后端·嵌入式硬件
IT邦德14 分钟前
GoldenGate 19C的静默安装及打补丁
数据库
吴佳浩 Alben15 分钟前
Go 1.22 通关讲解
开发语言·数据库·golang
a努力。28 分钟前
国家电网Java面试被问:二叉树的前序、中序、后序遍历
java·开发语言·后端·面试
yuniko-n37 分钟前
【力扣 SQL 50】子查询篇
数据库·sql·leetcode
賬號封禁中miu40 分钟前
图论之最小生成树
java·数据结构·算法·图论
月明长歌41 分钟前
Java数据结构:PriorityQueue堆与优先级队列:从概念到手写大根堆
java·数据结构·python·leetcode·
lalala_Zou42 分钟前
小米日常实习一面
java·后端·面试
roo_11 小时前
【性能测试】图数据库的 benchmark
数据库
算法与双吉汉堡1 小时前
【短链接项目笔记】Day3 用户模块剩余部分
java·redis·后端