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
相关推荐
牧羊狼的狼1 小时前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手3 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
luckys.one3 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
魔云连洲3 小时前
深入解析:Vue与React的异步批处理更新机制
前端·vue.js·react.js
mCell3 小时前
JavaScript 的多线程能力:Worker
前端·javascript·浏览器
言之。4 小时前
Django中的软删除
数据库·django·sqlite
超级无敌攻城狮5 小时前
3 分钟学会!波浪文字动画超详细教程,从 0 到 1 实现「思考中 / 加载中」高级效果
前端
excel5 小时前
用 TensorFlow.js Node 实现猫图像识别(教学版逐步分解)
前端
阿里嘎多哈基米6 小时前
SQL 层面行转列
数据库·sql·状态模式·mapper·行转列
抠脚学代码6 小时前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu