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 ;

总结


相关推荐
界面开发小八哥32 分钟前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
idolyXyz1 小时前
[java: Cleaner]-一文述之
java
互联网搬砖老肖1 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
一碗谦谦粉1 小时前
Maven 依赖调解的两大原则
java·maven
netyeaxi2 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
典学长编程2 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
收破烂的小熊猫~2 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
猴哥源码2 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot
老任与码2 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
小兵张健2 小时前
武汉拿下 23k offer 经历
java·面试·ai编程