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
相关推荐
YaHuiLiang1 分钟前
Ai Coding浪潮下的前端:“AI在左,裁员在右”
前端
Bat U3 分钟前
MySQL数据库|建库&建表&数据类型
数据库·mysql
短剑重铸之日6 分钟前
《ShardingSphere解读》16 改写引擎:如何理解装饰器模式下的 SQL 改写实现机制?
java·数据库·后端·sql·shardingsphere·分库分表·装饰器模式
m0_587958958 分钟前
机器学习与人工智能
jvm·数据库·python
雪碧聊技术9 分钟前
前端vue代码架子搭建
前端·javascript·vue.js·前端项目代码框架搭建
爱学习的程序媛9 分钟前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验
2501_9083298510 分钟前
Python入门:从零到一的第一个程序
jvm·数据库·python
han_12 分钟前
JavaScript设计模式(二):策略模式实现与应用
前端·javascript·设计模式
x***r15116 分钟前
Notepad++ 8.6 安装教程:详细步骤+自定义安装路径(附注意事项)
linux·前端·javascript
Hilaku19 分钟前
为什么很多工作 5 年的前端,身价反而卡住了?🤷‍♂️
前端·javascript·面试