00:00
没啥问题啊,来,我给大家写一遍。把这个题目先copy过来。编号为一的查询。这样。这个这个这个这个。刚才这个。这个需求没有过来。这个是查询。学生成绩单是吧。成绩单。234不喊。别的同学卡吗?
01:02
缓一会儿啊,我给你电脑缓一会儿。第一个查询年级编号为一的年级名称、科目名称以及学时。你就把这个想查啥你就写出来。然后你再找这个所在的这个列在哪张表。你看我就这么差。年级名称。年级名称,那肯定跟grade相关嘛。连击名称是great吧?好啊。Great name。然后科目名称,其实这科目名称你知道什么列吗?Subject。Name啊。对吧,好了,最后一个学识,学识啥来着。Class over。项目好了,这三个列都来自于什么表?Great name来自于。Great表。个。逗号隔开。Subject name和class,那肯定嘛,科目相关的嘛,来自于咱们的。
02:04
这两个列是不是来自于课目表啊?啊。这两张表没完事儿呢啊,你得找这两张表的关联条件。呃,简单点起个名啊。条件为G的什么东西等于S的什么东西?这两张表靠哪个列去关联的,其实非常直白了。有个列就叫。而great表中呢?是不是也有greatd啊?条件呢,就是这么写的,G的great ID等于S的完事。完事了吗?这查的是啥呀?青铜白银和黄金是吗?我要的是不是一年级的呀?这写着呢,编号为一啊。所以,所以还有一个条件叫GRID等于一。
03:03
对吧,Great ID编号是一的。好,这样一执行,又报错喽。为明确定义列啥意思,你看你就看这报错了,上边你就知道啥意思了。这里边儿有他,S里边有他,你这块不写的话,我就不知道是谁了。所以我应该前面写成G还是写成S?想等了吗?十遍吧。好,下一个。查询学生学号。Student学生的姓名。内蒙。科科目名称。上一个刚写过。对吧。Subject name。最后一个。考了多少分?Student。
04:01
好了,来自于什么表都一个个写,第一个学生的学号,好几个表都有是吧?但是学生的名称只有student表有。科目名称。只有科目表有。成绩那只有。成绩表有。OK,然后把这三张表起个名。OK,写条件,写条件,其实这个跟我刚才那个案例是不是一样的。好,写这三张表的条件好。学生表学生。看这些表,他们之间谁能和谁关联上呢?在这里边。一定要细心听啊,接下来讲的这个特别重要,特别重要。嗯,我在观察的时候,我发现了的这张表。是不是有一个列叫可为代利啊?
05:01
说明我这三个这四门课隶属于一年级对吧。然后呢,我学生表student表里我发现了。OK。也有。老师说了,找这张表等于那张表的什么什么东西是吧?这两张表的ID是一样,是相等的,这没问题,但是这两张表能不能用ID进行关联?这就是我说的今天最重要的一件事,不行。不行。不行啊,为什么呢,大家看啊。这个这个student表里边这个ID是不是有好多个呀。然后呢?Great表里边这个不是不是。Subject表里边ID是不是有好多个?大家看啊。这有四个一。Student,这里面有多少个一?好多个一是吧,记住了。今天表连接最重要最重要的一句话,我给大家写上。
06:03
写在哪儿呢?写在最后吧。六颗星级别六颗星啊。最重要的。多表关联。多表关联的条件。其中。一方啊,这是其中一列。必须。必须是唯一的呀,这句话啥意思嘞?其实这个意思啊,就是说你现在不是找刚才这个两张表是不是格位ID,它俩相等,我就想作为关联条件啊。但是记住了,我说的是这两个,就是这个ID,这个列在这个表中,必须是其中是一唯一的,你看啊,在student中grade ID唯一吗?是不是好多重复的。
07:00
那么在咱们的科目表里边儿唯一吗?这两张表中没有一张表是唯一的,所以就不能作为关联条件。那有同学说你找一个。关联条件的呗,看一看,好,非常简单呀,来这啊,就是换张表吧。这个表不有great ID吗?来,你跟great这张表进行关联的时候,你看great这张表里great ID重复吗?唯一吧。然后呢,你subject subject表里边的great ID。其中格位表就这个表和这个表它俩做关联,这个表里边已经唯一了。只要有一个唯一就可以了,剩下这个表不唯一就不唯一吧。无所谓。那这样的关联就是成功的。我听得明白。就是两张表中必须得其中一个啊,这个列是唯一的。才能做关联。
08:00
所以他俩做关联是没有任何问题的。好吧。啊,那么这个其实啊,咱们下午就讲了。这个列在这个表中呈现的状态是唯一的,所以这个列被称之为。组建。主要的这个键啊。好吧,就下午咱再说啊。好了,来。找到咱们这个知道了之后啊,咱们回头找这个关联条件啊,还是这个关联条件。学生和哪张表去关联?肯定成绩,成绩里边是不是有这个student no啊。在这里写了啊。学生的。Student no等于student no。并且第二个条件。第二条件靠什么呀?里边是不是有科目编号啊?成绩里边是不是也有第一科第二科啊。他俩连上。
09:01
Su的subject ID等于R的subject ID,好,写完了。No。两张表都都有是吧。哎,这个这个这看这两张表里都有,用S用R都一样,随便搞一个。好了,最后一个。查询。学生的名字。成绩。和考试日期。来自于都什么表呢?Student,哎,我去。S表第二个成绩,哎,这两个列都是成绩里边的是吧。Result。这两张表靠什么关联?是不是已经知道了学生里边有no,它里边是不是也有student no啊?那就是S的student no等于R的。就在。但是还有一个条件是什么?
10:01
Java SE,哎哟,我去Java SE是名啊。科目名啊。对吧,那就是用subject名称去等于。Java SE啊。对吧,那么这个名称,这个名称在这个表里边儿有吗。成绩表里边有吗?没有吧,他在哪张表里啊。哎,又是一个三表查询。OK。那三秒查询几个条件,是不是这俩条件啊,而你现在只是不是只写了一个关联条件啊。OK,紧跟着点写第二个关联条件。OK,这个关联条件是不是已经知道了?跟上一个一模一样的。成绩的科目编号等于。科目的科目编号。写完了。就是这样。一共22条。
11:03
好,把这个注释上。
我来说两句