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