A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 厦门校区 黑马粉丝团   /  2018-7-12 21:41  /  6173 人查看  /  26 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.having和where的区别?
2.什么情况下会用到group by分组函数?
3.什么情况下会用到一对多,什么情况下会用到多对多?

评分

参与人数 1黑马币 +1 收起 理由
abaoo2018 + 1 神马都是浮云

查看全部评分

26 个回复

正序浏览
1.where先把数据过滤了在进行分组,后面不可以使用聚合函数。having是先分组在过滤数据,后面可以使用聚合函数。

2.一般使用到统计从而用到group by将分组字段相同的内容作为一组,一般也会跟聚合函数一起使用。

3.一对多:如部门和员工的关系,多对多:如学生选择课程和学生。
回复 使用道具 举报
彭东亮
1.having和where的区别?
having后面可以跟聚合函数,当不满足条件时,则不会被查询;
where后面不能跟聚合函数,当不满足条件时,则不参与分组。
2.什么情况下会用到group by分组函数?
当需要提取的信息按某个条件进行分组时则需要用到group by;
3.什么情况下会用到一对多,什么情况下会用到多对多?
一对多可以应用在如部门和员工类似的情况,一个员工只能对应一个部门,而一个部门可以对于多个员工;
多对多可以应用在如学生和课程的情况,一名学生可以选择多门课程,而一门课程也可以有多名学生来上课。
回复 使用道具 举报
1.having和where的区别?
having可用于分组后进行判断,满足条件进入分组,否则不进,可使用聚合函数
where只能在分组前进行判断,且无法使用聚合函数

2.什么情况下会用到group by分组函数?
不知道怎么解释,百度了一下,有个词讲得很好.分类汇总
当需要对数据进行分类汇总的时候用

3.什么情况下会用到一对多,什么情况下会用到多对多?
比如班级和学生,一个班级包含多个学生,一个学生只能在一个班级,此时就可用到一对多
多对多,  比如大学课程,一名学生可以自选多门课程,一门课程也可被多个学生所选,此时就可用多对多,




回复 使用道具 举报
1.having和where的区别?

heaving 后可以有聚合函数并且在分组之后;
where在分组判断之前,并且后面不可以跟聚合函数 只是条件判断

2.什么情况下会用到group by分组函数?

想以某个字节段为准,并且这个字段有可以做分组的条件
做数据处理或者其他操作时

3.什么情况下会用到一对多,什么情况下会用到多对多?

比如一个学科可以对应多个学生时就可以用到一对多;


比如一个学科可以对应多个学生,一个学生也可以对应多个学科时就可以
用到多对多
回复 使用道具 举报
1.having和where的区别?
  having用在分组之后,条件可以是聚合函数;
  where在分组之前,条件不能是聚合函数
2.什么情况下会用到group by分组函数?
  当要将一列数据分情况查看时
3.什么情况下会用到一对多,什么情况下会用到多对多?
  当表中部分数据冗余,多方关联冗余部分数据能简化时;
  当两部分数据互相关联多方 ,能建立第三方简化时
回复 使用道具 举报
谢精良

1.having和where的区别?
where 在分组之前进行限定   where 后不可以进行跟聚合函数的判断
having在分组之后进行限定  having可以进行聚合函数的判断

2.什么情况下会用到group by分组函数?
需要按照某个字段进行分类的时候

3.什么情况下会用到一对多,什么情况下会用到多对多?
一对多在例如 一个部门有多个员工,一个员工只能对应一个部门
多对多在例如 一个学生可以选择很多门课程,一个课程也可以被很多学生选择
回复 使用道具 举报

王博

1.having和where的区别?
分组查询中where在分组之前判断, 如果不满足则不参与分组, having在分组之后进行判断, 如果不满足则不会被查询出来
where后不可以跟聚合函数,having可以进行聚合函数的判断

2.什么情况下会用到group by分组函数?
将字段进行分组时


3.什么情况下会用到一对多,什么情况下会用到多对多?
例如一个旅游类型中,可以有多个旅游线路,一个线路对应一个类型,这样就用一对多
例如一个用户可以收藏多个旅游线路,一个线路也可以被多个用户收藏,这样就用多对多


回复 使用道具 举报
1.having和where的区别?having 可以放在聚合函数前面而where不能


2.什么情况下会用到group by分组函数?
要进行同数据的统计或计算时,一般配合聚合函数使用

3.什么情况下会用到一对多,什么情况下会用到多对多?

一对多一般像员工和部门的例子,一个部门可以有多个员工,而一个员工却不能有多个部门,
多对多好比学生上课,一个学生可有多个课程,而一个课程也可以有多个学生
回复 使用道具 举报
郑雪平

DQL查询语句是经常使用的一种语句,它分为四种类型:一.排序查询,语法是:order by 子句,排序的方式有两种:asc自然排序,也叫升序。另一种是desc降序,需要注意的是如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。二.聚合函数:将一列数据作为一个整体,进行纵向的计算。1. count:计算个数;2. max:计算最大值;3. min:计算最小值;4. sum:计算和;5. avg:计算平均值。需要注意聚合函数的计算,排除null值。三.分组查询: 使用的语法:group by  四: 分页查询, 语法:limit 开始的索引,每页查询的条数;  约束概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。分为四大类:一。主键约束:primary key;2. 非空约束:not null;3. 唯一约束:unique;4. 外键约束:foreign key;主键的约束:1. 在创建表时,添加主键约束;2.删除主键; 3.创建完表后,添加主键;二。非空约束:not null,某一列的值不能为null;三:唯一约束:unique,某一列的值不能重复;四:外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。一。数据库的设计与 多表之间的关系:1. 一对一;2. 一对多(多对一);3. 多对多关系。 多表之间的实现关系:1. 一对一;2. 一对多(多对一);3. 多对多关系。二。数据库设计的范式:设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求,目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF)
回复 使用道具 举报
1.having和where的区别?
having 用在分组之后,可以使用聚合函数,where使用在分组之前,不符合条件的数据会被排除出分组,having只是不显示不符合条件的数据
2.什么情况下会用到group by分组函数?
查询的数据具备相同属性可以使用分组函数,方便进行查询
3.什么情况下会用到一对多,什么情况下会用到多对多?
两个表之间,A表可以对应B表多组数据  为一对多
多对多 例如课程与学生  两个表可以互相对应多组数据




回复 使用道具 举报
官启文
1.having和where的区别?
先过滤在分组  where后不能有聚合函数
分组后过滤,先分组后过滤 having后面可以使用聚合函数
2.什么情况下会用到group by分组函数?
分组查询
3.什么情况下会用到一对多,什么情况下会用到多对多?
一个任务,有人多可以同时使用,一对多
多对多 多个任务多人交叉使用
回复 使用道具 举报
1.having和where的区别?
having判定条件在分组之后,如果不满足条件,则不会被查询出来,并且可以在having字句后使用聚合函数
where判定条件要在分组之前,如果不符合条件,则不参与分组,而且在where后不可以使用聚合函数

2.什么情况下会用到group by分组函数?
当我们查询需要对不同的情况进行查询的时候会使用到分组查询 例如性别分组 部门分组等这些情况...

3.什么情况下会用到一对多,什么情况下会用到多对多?
例如部门与员工的关系 一个部门下有很多的员工 很多的员工对应的是一个部门  再比如客户与订单 一个客户有很多的订单 很多的订单是一个客户的这种情况下会使用一对多
例如学生与老师,一个学生可以有多个老师 而一个老师也会有多个学生 这种的就是多对多的情况


回复 使用道具 举报
1.        having和where的区别?
from orders group by product where sum(price) > 30;
运行有误, group by 后面不能出现 where,使用 having
先where条件进行判断 后用group by 分组 后用 having 筛选 可以使用聚合函数
2.        什么情况下会用到group by分组函数?
一般与聚合函数一起使用
3.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:最常用的关系 部门和员工
多对多:学生选课表 和 学生表, 一门课程可以有多个学生选
一对一:相对使用比较少。员工表 简历表, 公民表 护照表
回复 使用道具 举报
王宇晨
1.having和where的区别?
having在分组之后进行限定,如果不满足结果则不会被查询出来,后面可以跟聚合函数的判断。
where在分组之前进行限定,如果不满足条件则不参与分组,后面不可以跟聚合函数。
2.什么情况下会用到group by分组函数?
当表中有很多数据重复时,可以把结果中相同的字段分为一组,可以减少代码的冗余。
3.什么情况下会用到一对多,什么情况下会用到多对多?
当一个数据对应多个数据时会用到一对多,例如部门和员工,班级和学生。
当多个数据与多个数据相互对应时会用到多对多,例如老师和学生,学生和课程





回复 使用道具 举报
洪文生
1.having和where的区别?
1,where 用在分组前对表中数据进行限定,不满足就不参与分组;having用在分组之后的限定,如不满足就不查询;
2,having后能跟聚合函数,where后不能。

2.什么情况下会用到group by分组函数?
在对表中的数据按照 某一字段进行分析时

3.什么情况下会用到一对多,什么情况下会用到多对多?
部门和个人情况下就是一对多;
学生和课程就是多对多情况;
回复 使用道具 举报
黄希

1.having和where的区别?
        1、where是在分组前进行筛选,having是在分组后进行过滤;
        2、where后面不能进行聚合函数的判断,having后面可以进行聚合函数的判断。

2.什么情况下会用到group by分组函数?
        1、与distinct作用一样,去除重复记录;
        2、需要使用聚合函数计算分组后的数据,例如count求记录数、max求最大值、min求最小值、sum求和、avg求平均值。

3.什么情况下会用到一对多,什么情况下会用到多对多?
        例如班级与学生,是一对多的关系
        例如学生与课程,是多对多的关系

回复 使用道具 举报

1.having和where的区别?
where用在group by前面,having放在放在group by后面,having后面的条件可以包含聚合函数
2.什么情况下会用到group by分组函数?
需要把相同的数组作为一组的时候
3.什么情况下会用到一对多,什么情况下会用到多对多?
[1]类似一个人属于一个部门,一个部门有多个人
[2]类似学生与课程的关系,一个学生可以选择多门课程,一个课程可以有很多人
回复 使用道具 举报
梁端刚
1.having和where的区别?
having和where都是判断语句
having使用在group by后,在分组后判断,可以对聚合函数判断
where使用在groupby 前,先判断后分组,不可判断聚合函数

2.什么情况下会用到group by分组函数?
当某些列具有共同的特性时,可以以此特性进行分组
3.什么情况下会用到一对多,什么情况下会用到多对多?
1对多 比如公司与员工,一个公司可以有多个员工,但每个员工只对应一个公司
多对多比如学生和课程,一个学生可以选多个课程,同时一个课程也可以被多个学生选择
回复 使用道具 举报
====林传伟=====
1.having和where的区别?
having用在group by后 where用在group by前,having后可以跟聚合函数where不行

2.什么情况下会用到group by分组函数?
需要对字段进行分组的时候,例如性别

3.什么情况下会用到一对多,什么情况下会用到多对多?
例如一个班级有多个学生,多个学生在一个班级,就用到一对多,一个班级有多名老师任教,一个老师可以教多个班级,这就需要用到多对多




回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马