1.having和where的区别?
答:
WHERE是在分组前进行条件限定,不满足条件不参与分组,后面不可以跟聚合函数;
HAVING是在分组后进行条件限定,不满足条件不显示出来,后面可以跟聚合函数的判断。
2.什么是主键,主键有什么作用?
答: 主键是非空且唯一的字段,被PRIMARY KEY修饰。
主键是一张表中记录的唯一标识,可以用来参与一些唯一性的操作,
保证操作数据的有效性,正确性和完整性。
3.我们今天学了几种约束,主键必须要有哪几种约束?
答: 四种约束:非空约束,唯一约束,主键约束,外键约束。
主键必须有非空约束和唯一约束。
4.什么情况下会用到group by分组函数?
答:在需要对查询出来结果数据进行分组时,使用到group by分组函数。
使用group by 分组函数时需要注意以下几点:
1.分组之后查询的字段只能是分组字段、聚合函数
2. where 和 having 的区别?
1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
5.什么情况下会用到一对多,什么情况下会用到多对多?
答:一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品。
一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键。
多对多(m:n) 例如:老师和学生,学生和课程,用户和角色
多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。
|