关于外连接的问题

关于外连接的问题

1.之前的课程看到在使用GROUP BY语句后,SELECT中不能出现除聚合函数和GROUP BY后出现的字段,那为什么这节课中老师用d.deptno分组后SELECT语句能接d.dname?


http://img1.sycdn.imooc.com//climg/60dee2d00926c18913080389.jpg

2.像上图用d.dname分组,COUNT函数内计算e.ename会不会更好一点?这样就不存在COUNT忽略deptno是空值的情况了。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2021-07-02 19:29:41

同学,你好!对同学的疑问做如下解答:

1、"使用GROUP BY语句后,SELECT中不能出现除聚合函数和GROUP BY后出现的字段",老师讲的是可以包括聚合函数和GROUP BY分组字段,在2-6小节有讲解,同学可以回看一下加深理解

http://img1.sycdn.imooc.com//climg/60def21b09a8a6dc11770634.jpg

2、是的,COUNT函数内计算e.ename是可以的

http://img1.sycdn.imooc.com//climg/60def887095c332904910461.jpg

祝:学习愉快!

  • 提问者 嚯嚯嚯霍哼 #1

    不好意思,第一个问题写漏了两个字“除外”。

    课堂里老师使用的是用d.deptno来进行分组,那SELECT语句后应该不能出现d.dname才对呀?

    http://img1.sycdn.imooc.com//climg/60df136c09bbed1407220293.jpg

    2021-07-02 21:24:02
  • 好帮手慕燕燕 回复 提问者 嚯嚯嚯霍哼 #2

    同学,你好!

    1、数据库版本更新之后,select子句中出现分组字段以外的其他字段,不再报语法错误,但查询结果不正确,比如下面的例子中,原数据表的内容如下:

    http://img1.sycdn.imooc.com//climg/60dfc9120923ad5206470334.jpg

    按部门编号分组查询,select子句中查询sal,查询到的sal不正确

    http://img1.sycdn.imooc.com//climg/60dfc78c0998212900000000.jpg

    2、当分组的字段是主键deptno,是不重复的,每个主键对应一个dname,不会出现一个分组对应多个数据的情况,因此是可以出现在select查询中的,同学提出此疑问,说明在学习过程中是认真思考了的,为你点赞。

    祝:学习愉快!


    2021-07-03 11:36:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师