数据库简单的接触 记录一下
表设计:
1,一对多关系, 直接在另一个表中加入当前表的id 或者 固定不变的值
例如:父子关系, 父亲表中的一条记录,的一个id,对应这儿子表中的多个儿子,
2,多对多的关系,建立两个相对独立的表 再建一个关系表 相当于 两个相对的一对多关系
例如:学生与课程之间的关系如果要全面的来表示就是多对多的关系,一个课程可以有很多学生,一个学生可以选择很多课程
sql:
1,关联查询。 内连接 可以连接多个表,相当于根据条件 关联多个表 语法为 join — on
例如:a b c 三张表内连 ,根据外键 进行连接
select * from a inner join b on a.id = b.id and user=zhangsan inner join c on a.id =c.id
值得注意的是 内连接 有一个条件不成立 则就取不到值
2,左右连接,如果以左为主 左表中所有字段全部展示, 右表中 条件不成立的则展示为空
例如:select * from a left join b on a.id=b.id
当,a.id=b.id 不是所有的记录都成立的 ,则a的所有记录展示,b中不满足条件的为null
右连接则反之
表设计:
1,一对多关系, 直接在另一个表中加入当前表的id 或者 固定不变的值
例如:父子关系, 父亲表中的一条记录,的一个id,对应这儿子表中的多个儿子,
2,多对多的关系,建立两个相对独立的表 再建一个关系表 相当于 两个相对的一对多关系
例如:学生与课程之间的关系如果要全面的来表示就是多对多的关系,一个课程可以有很多学生,一个学生可以选择很多课程
sql:
1,关联查询。 内连接 可以连接多个表,相当于根据条件 关联多个表 语法为 join — on
例如:a b c 三张表内连 ,根据外键 进行连接
select * from a inner join b on a.id = b.id and user=zhangsan inner join c on a.id =c.id
值得注意的是 内连接 有一个条件不成立 则就取不到值
2,左右连接,如果以左为主 左表中所有字段全部展示, 右表中 条件不成立的则展示为空
例如:select * from a left join b on a.id=b.id
当,a.id=b.id 不是所有的记录都成立的 ,则a的所有记录展示,b中不满足条件的为null
右连接则反之