1.having和where的区别?
having:having子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
where:对查询结果进行分组前, 将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤
再分组。
区别:where后面不可以使用聚合函数,having后面可以使用聚合函数。
2.什么是主键,主键有什么作用?
用来唯一标识数据库中的每一条记录
3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束:
主键primary key:用来唯一标识数据库中的每一条记录
非空not null:表中某一列不能为 null,必须有值。
唯一unique:表中某一列不能出现重复的值。
外键foreign key:在被别人约束的表中与用来约束别人的表主键对应的那一列。
主键必须要有:1、非空not null 2、唯一unique
4.什么情况下会用到group by分组函数?
将分组字段结果中相同内容作为一组,如按性别将学生分成 2 组。
5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:最常用的关系 部门和员工。
多对多:学生选课表 和 学生表, 一门课程可以有多个学生选择,一个学生选择多门课程。 |