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 ;

总结


相关推荐
今天背单词了吗9808 分钟前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
天天摸鱼的java工程师11 分钟前
使用 Spring Boot 整合高德地图实现路线规划功能
java·后端
东阳马生架构26 分钟前
订单初版—2.生单链路中的技术问题说明文档
java
咖啡啡不加糖40 分钟前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
风象南43 分钟前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
九皇叔叔1 小时前
【7】PostgreSQL 事务
数据库·postgresql
DKPT1 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
kk在加油1 小时前
Mysql锁机制与优化实践以及MVCC底层原理剖析
数据库·sql·mysql
Percep_gan1 小时前
idea的使用小技巧,个人向
java·ide·intellij-idea
缘来是庄1 小时前
设计模式之迭代器模式
java·设计模式·迭代器模式