SQL JOIN 关联条件和 where 条件的异同

Inner join

对于 inner join,条件写到 on 和 where 部分是一样的。

sql 复制代码
select count(1) 
 from web_site 
 join web_page 
 on web_site_sk=wp_web_page_id 
 where web_city='Pleasant Hill' and wp_access_date_sk=1;

输出

sql 复制代码
0
sql 复制代码
select count(1)
 from web_site 
 join web_page 
 on web_site_sk=wp_web_page_id 
 and web_city='Pleasant Hill' and wp_access_date_sk=1;

输出

sql 复制代码
0

Outer join

对于 outer join 写到 on 和 where 部分结果是不一样的。

写到 where 部分代表着 join 结果的过滤。

sql 复制代码
select count(1) 
 from web_site 
 left outer join web_page 
 on web_site_sk=wp_web_page_id 
 where web_city='Pleasant Hill' and wp_access_date_sk=1;

输出

sql 复制代码
0

left outer join on 条件是关联条件,对于 left outer join,关联不上,左边的数据也要输出。

sql 复制代码
select count(1)
 from web_site 
 left outer join web_page 
 on web_site_sk=wp_web_page_id 
 and web_city='Pleasant Hill' and wp_access_date_sk=1;

输出

sql 复制代码
32
相关推荐
有梦想的攻城狮16 分钟前
从0开始学vue:npm命令详解
前端·vue.js·npm
Java永无止境23 分钟前
延时任务之Redis 过期事件监听原理与缺陷
数据库·redis·缓存·延时任务
Albert Edison41 分钟前
【MySQL】表的操作
数据库·mysql·oracle
欢喜躲在眉梢里41 分钟前
mysql中的日志
android·运维·数据库·mysql·adb·日志·mysql日志
java1234_小锋1 小时前
Redis线上操作最佳实践有哪些?
数据库·redis·缓存
我是日安1 小时前
从零到一打造 Vue3 响应式系统 Day 23 - Watch:基础实现
前端·javascript·vue.js
FogLetter1 小时前
TypeScript 泛型:让类型也拥有“函数式”超能力
前端·typescript
FogLetter1 小时前
Map 与 WeakMap:内存管理的艺术与哲学
前端·javascript
golang学习记1 小时前
从0死磕全栈之Next.js 流式渲染(Streaming)实战:实现渐进式加载页面,提升用户体验
前端
前端伪大叔1 小时前
第15篇:Freqtrade策略不跑、跑错、跑飞?那可能是这几个参数没配好
前端·javascript·后端