Oracle 中 where 和 on 的区别

1.Oracle 中 where 和 on 的区别
on: 会先根据on后面的条件进行筛选,条件为真时返回该行,由于on的优先级高于left join,所以left join关键字会把左表中没有匹配的所有行也都返回,然后生成临时表返回,执行优先级高于left join。
**where:**对与行的筛选是在left join之后的,也就是生成临时表之后才会对临时表进行筛选,执行优先级低于left join。

1)、除表连接条件外,不包含emp表条件和where 条件

sql 复制代码
SELECT A.*, B.* FROM DEPT A LEFT JOIN EMP B ON a.deptno = b.deptno; 

2)、除表连接条件外,包含emp表条件

sql 复制代码
SELECT A.*, B.* FROM DEPT A LEFT JOIN EMP B ON a.deptno = b.deptno AND B.MGR IS NOT NULL;

3)、除表连接条件外,包含where条件

sql 复制代码
SELECT A.*, B.* FROM DEPT A LEFT JOIN EMP B ON a.deptno = b.deptno WHERE B.MGR IS NOT NULL;

2. 内连接和外连接的区别

内连接(inner join): 内连接是通过匹配两个表之间的共同列,返回满足连接条件的行。只有在连接条件匹配的情况下,才会返回结果。内连接只返回两个表中共同匹配的行,不包含任何不匹配的行。
**外连接(outer join):**外连接分为左外连接(Left Outer Join)、右外连接(Right Outer Join)和全外连接(Full Outer Join)三种类型。左外连接返回左表中的所有行,以及与右表匹配的行;右外连接返回右表中的所有行,以及与左表匹配的行;全外连接返回左表和右表中的所有行,不管是否匹配。

3.Oracle执行SQL流程图

相关推荐
瀚高PG实验室1 小时前
发布端逻辑复制槽消失
数据库·postgresql·瀚高数据库
ss2731 小时前
PostgreSQL慢查询定位与优化
数据库·postgresql
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
smilejingwei2 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
我要见SA姐13 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
QXWZ_IA4 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
这个DBA有点耶4 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
Y3815326624 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
c_hn_0075 小时前
量化数据12:国内期货L2历史数据:Tick、逐笔、五档盘口一次性打包下载
数据库·1024程序员节·#深度订单簿数据·#历史行情订单薄·#本地csv数据存储
GeW5 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库