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
相关推荐
孟陬12 小时前
从 Claude Code 187 种说“正在处理”的方式看一流公司的用户体验
前端·claude·bun
海市公约12 小时前
一条SQL查询的完整旅程:MySQL执行流程深度解析
sql·mysql·数据库优化·执行计划·连接器·查询缓存·sql执行原理
一楼的猫12 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
程序leo源12 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
这个DBA有点耶12 小时前
COUNT进阶:超大表的近似计数与HyperLogLog
数据库·sql·程序人生·学习方法·dba·改行学it
掘金一周12 小时前
想换一辆电车,JYM有什么推荐 | 沸点周刊 5.21
前端·人工智能·后端
武子康12 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
Nian.Baikal12 小时前
Cesium 3D Tiles 加载与优化实战
前端·cesium
zhojiew13 小时前
在本地PostgreSQL使用pgvector构建生成式 AI 应用的实践
数据库·人工智能·postgresql
Yushan Bai13 小时前
EXADATA X5数据库一体机节点login: failure forking: Cannot allocate memory问题处理
数据库·oracle·vr