mysql有严格模式,有时候not null不好使,可能和它有关, on delete cascade on update cascade 跟在外键盘修饰处,所以一个外键这个就写一次, foreign key的使用,就是1对多的使用,这里不赘述, 多对多,就需要专门建立一个表,比如学生和课程之间就可以建一个选课表, 一对1,就是对foreign key的数据项,加一个unique,
外键的表建多了,会消耗硬盘性能,有些公司会不让用外键, 单表 and 少量表查询 by 我们, 大量的表查询,by DBA, 二次where之后,你就不能再用where了 group by的二次筛选用having, 需要设置模式,我不记得了,意思是group by后select *得到的是该组的第一个数据, 一般用于统计信息,比如该组的最高薪资是谁?二班我不知道哦~ having is after avg() Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。 Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
1.交叉连接,可以理解为两者的数量积! 2.内连接,把两表共同符合的部分,显示出来,与表的先后没有关系,即from xx,inner join yy的顺序无关, 3.左连接,找出左表的所有信息,哪怕右表没有相关的信息,也显示相关的信息, 4.右连接,与左连接原理类似, 5.全外连接,目前mysql暂时不支持,你去看结果,in one word,像左和右连接的结合,