java学习

java学习

 

mysql的感悟之三

一.在内连接中的等值连接中,适用于两个表,且两个表中都有共同的一项,根据这一项来连接两表中其他的项,但是如果不在where中约束两表中共同的一项相等,会产生笛卡尔积。

比如select  stuname,score  from  t_student,t_scores  where  t_student.id=t_sccores.stu_id;

标准的内连接是  select  stuname,scores  from  t_student  inner join  t_scores   on

T_student.id=t_scores.stu_id;

二.左连接会全部显示左边的信息,比如  select   stuname,score  from  t_student

Left   join   t_scores  on  t_student.id=t_scores.stu_id;

三.只要是几个表的连接查询,都要在其中直接连接的两个表中找到相同的项,作为纽带,查询其他的列。

四.表之间的关系包括11,1对多,多对多,其中11 时比如建立人的表和身份证表,他们是11的,在建立身份证表时,表的id号不是自动增长的,并且id即使身份证表的主键,也是人表的外键,也就是说id不但不能重复,还要一定时人表中存在的,11的。

1对多时,比如人表和银行卡表,一个人可以有多个银行卡,但是一个银行卡只能属于一个人,所以把人的id放在银行卡表中,作为人表的外键,也就是说,在1对多时,在多的表中存放1的主键。

在多对多时,比如学生表和课程表,一个学生可以选多个课,一个课可以有多个学生上课,这就是多对多的情况,需要建立第三张关系表,在关系表中包括学生表和课程表的俩主键,这俩主键也是关系表的主键,

posted on 2011-11-07 11:08 杨军威 阅读(305) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜