广告位

您现在的位置是:九头鸟新媒体 > 产品 > 评测分析 >

SQL今日一题(18):3表连接

2021-06-17 02:47评测分析 人已围观

简介鸟哥笔记文章,...

这是SQL今日一题的第18篇文章

题目描述

统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum

这题用到salaries表、dept_emp表和departments表

鸟哥笔记,数据运营,虾壳可乐,
salaries表

鸟哥笔记,数据运营,虾壳可乐,
dept_emp表

鸟哥笔记,数据运营,虾壳可乐,
departments表

方法

select dp.dept_no,dp.dept_name,count(s.salary) as sum 
from dept_emp de,departments dp,salaries s 
where de.dept_no = dp.dept_no 
and de.emp_no = s.emp_no
group by dp.dept_no,dp.dept_name

1、用where将3个表连接在一起,dept_emp表和departments表用dept_no连接,dept_emp表和salaries表用emp_no连接

2、题目中说在salaries表里面有多少条记录sum,虽然有sum出现,但用的是count计数,只是将这个字段命名为sum,这一点需要注意。同时因为使用了count聚合函数,要用group by进行分组。

3、where连接的效果和inner join是一样的。

select dp.dept_no,dp.dept_name,count(s.salary) as sum 
from dept_emp de 
inner join departments dp on de.dept_no = dp.dept_no
inner join salaries s on de.emp_no = s.emp_no
group by dp.dept_no,dp.dept_name

结果都是如下图所示

鸟哥笔记,数据运营,虾壳可乐,
结果

知识点

3表连接

  • where连接,确定好公共字段

  • 子查询先连两个再和第三个连


猜你喜欢:
数据分析应关注AARRR模型的哪些指标

泰坦尼克号数据分析

深入浅出数据分析

@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@加个人微信:data_cola,备注:进群,拉你入 可乐的数据分析群 和各行各业的小伙伴交流探讨数据分析相关内容

鸟哥笔记,数据运营,虾壳可乐,
微信公众号
鸟哥笔记,数据运营,虾壳可乐,
个人微信号


Tags:

广告位
    广告位
    广告位

标签云

站点信息

  • 文章统计18576篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们