1.having和where的区别?
where子句对查询结果进行分组前,将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤再分组。
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
where 后面不可以使用聚合函数;having 后面可以使用聚合函数
2.什么是主键,主键有什么作用?
主键是指在数据库的表中能唯一标识一条记录的最小的字段集合。
主键用来唯一标识数据库中的每一条记录
3.我们今天学了几种约束,主键必须要有哪几种约束?
主键约束 primary key
唯一约束 unique
非空约束 not null
外键约束 foreign key
主键约束必须有唯一约束和非空约束。
4.什么情况下会用到group by分组函数?
当我们要将分组字段结果中相同内容作为一组时会用group by分组函数。
5.什么情况下会用到一对多,什么情况下会用到多对多?
当一张表的一个数据对应另一张表的多个数据时,就可以用到一对多。例如部门和员工,一个部门有很多个员工,而一个员工只属于一个部门。
当一张表的多个数据能都和另一张表的多个数据产生关联,就可以用到多对多,例如学生选课表和 学生表,一门课程可以有多个学生选择,一个学生选择多门课程。
|