00:00
二标准哈,CIRCLE9是标准啊,我把这个弄一下好,我写这,那这个的话就属于第一大部分,呃,我们称为CIRCLE92标准,这个里边它是不是支持所有的内联呀,啊,那么支持所有的内联,咱们这样内联我们看一下是不是分为这么三种啊,我们先看第一种啊,第一种的话我们称为叫做等值连接,先去介绍这个哈,好吧,我们就直接先做第一个案例哈,第一个案例的话呢,其实刚才也说到了,我们查询的是,呃,比方说啊,我们就先还说这个事情,是不是查询一下女神名和男神对应的男神名啊,和对应的男神名,那我们刚才的这个语法呢,可以直接粘过来,因为已经写过了啊,怎么去写的,就是你要查什么,是不是level的后面就加什么呀,然后呢,你再去想你这个涉及到的这个字段啊,就是你涉及到的这个表都有哪些。
01:00
哎,在from后面就直接加上中间用什么隔开呢?逗号,哎,然后我们最最关键的就是找这个外绕条件啊,找这个外绕条件好这是它的一个语法,这个倒是没啥,那么接下来呢,我们可以通过这个上面呢,跟大家去分析一下,它是怎么着实现这种等值连接的啊好看一下这儿,那么其实呢,我们这个等值连接是这样来去实现的,它会拿着第一张表的,这不是每一行吗?去匹配我第二张表的每一行,那么在匹配的时候呀,他匹配是都匹配的啊,匹配是不是四次啊,因为你这个里边有四行,但是呢,他需要去筛选一下,怎么去筛选,就是根据你的关联条件或者连接条件来的,你的连接条件不是抱一的装的ID等于ID嘛,对不对,所以他就会拿,诶这个报率的釜装的ID的值是不是等于ID的值,如果等于它是不是就显示出来呀,哎,如果不等于,它就会过滤掉,所以它是这样来的。
02:00
的哈,匹配都匹配,但是它会有一个筛选,所以最终的效果呢,才达到我们这个小到的能看到吧,它这样的一个意思哈,行,那么有了这个为基础呢,咱们再继续往下写,比方说我们再做一个案例,这个案例的话呢,我们就拿我们原始,呃,原本的这个my employees库里面的来说,因为这个里边的数据比较多啊,好,我这也切换了,它是my employees库,然后这个里边假如说我想去查询一下,注意部门名就是员工名吧,员工名和对应的部门名能看明白吧,哎,这个应该怎么去查?员工名和对应的不不明名,员工名是不是来自于这啊,不明名它来自于是不是department name对吧?那应该是select last name,然后是department name对吧?然后from是不是加上两个表明呀,Employs,还有一个是departments,没问题吧,Where怎么写,连接条件怎么找,是不是你去找就是啊,对了,就是找我们这两个表里边意义是不是一样的两个字段呀,而且是比方员工表的这个值是不是正好来自于它呀?哎,这样的叫做连接条件,那where我们是不是应该用表弟限定一下呀,Department ID,哎,终于有提示了是吧,Department里。
03:39
连的department ID是不是这么写呀,嗯,他这个意思哈,哎,执行这就出来了,一共106行,因为有一个员工没有部门,对不对啊,有一个员工的部门号为now来看一眼,所以你把这个数据你也要最好整清楚了啊,我们找找是哪个来着呀,Department这个有点大是不是,哎,这样好,这不是department低吗?你看是不是有一个的,哎,这样看哈,好行吧,来再往下啊,这个是简单的这个查询我就说到这儿哈,那么接下来再看第二点,那么假如说我要查询的这个字段呀,查询的字段中有这些,呃,做一个案例,呃,我这样去写哈,我要查询公种号,还有这个员工名,公种号公种名啊,看一下这个怎么去写。
04:39
啊,有三个字段对不对,那员工号的话呢,就是呃,员工名的话就是last name还是它公主号的话是job ID,公主名是job title对吧,在from是不是还是employs表有吧,然后还有一个是什么表啊,Job表,哎,我们把它加上没问题吧,Where这个关联条件会不会找啊,要跟上哈,什么是不是你也得加这个限定呀?呃,Job ID等于job.job ID没问题吧?好,那么现在呢,我们去执行发现是不是还是有问题呀,原因是说你这个job ID,也就是这个地方的job ID,它是有这个,这个单词怎么念,是不是有起义的意思呀,有起义是不是也是说啊,我们不知道你要查的是jobs里边的job。
05:39
点还是employees的照牌ID,那么这个地方是不是还是用表明来限定一下呀?哎,Employees点你用它限定和用job的限定是不是都行啊啊,都行啊,你要限定一下,这样才好使。但是我想说的就是这个事情,也就是假如说我的SQ语句中反复的用到表名去限定,而你的表名一般起的是不是都比较长啊,这样你的语句是不是就无形中有点复杂了,这个时候我们就可以对了,为表起别名啊,我要说的是这一点好,那怎么去取呢?就是在我们的表名后面,我们可以加as,后面加别名,比方说E,一般来讲我们起的别名是不是都比较短呀?哎,建议大家起这种短的,你说你的别名起的比人家还长呢,那那这个是不是它的好处就不复存在了啊,好,或者说这个爱。
06:39
那是可以省略,可以省略是不是跟当时我们的字段起别名一样的道理啊,都行啊,那么我们知道你们是省还是不省,呃,省了是吧,那我们就这么写了,那你这个用上了别名,我这个地方就可以用E这个地方就可以用这,那这个地方也可以用这些了,对吧?哎,那当然像这个的话,它没有企业,你用不用别名打底,也或者说用不用限定都可以啊,你你要是用实际上是不是也没毛病啊,哎,你用也没洗也也没问题啊好了,那么现在的话,我们再去试,效果一样吧,也能出来哈。哎,这是说我们可以为表起别名,而且一般的来讲,我们都会为表起别名,在这个连接查询的时候,因为是不是连接查询,它这个经常会有起的列呀,啊,一般要起哈,我把好处写到这儿,好,那为表起别名,就是是不是提高我们语句的简洁度,这是最关键的一点。
07:39
对不对啊,它减少了或者说缩短了我们表的这样的一个长度嘛,啊还有一点就是因为有歧了嘛,是不是是不是区分,区分我们是不是多个,呃,重名的字段呀,重名的字段啊,哎,那么这个是起别名的几点好处,那其实后面的话还会有一些好处啊,到时候我们再去说啊,好,然后我这个时候有一个问题,什么问题,假如说我起上别名了,我前面呀,我就还用我原始的表明限定好不好使,哎你比方我这样写这个是不是就是employees啊,哎,这个就是jobs哈,好不好使啊,我就说大家没有一次猜对的是不是不好使啊,好,因为因为根据执行顺序来讲,我们是不是先走它,它走完了之后,是不是就要相当于有了别名了。
08:39
就是一和J啊,啊,其实后期的话会跟大家去讲,它就相当于生成了一个虚拟的这样的一个视图一样的东西啊,那么这个时候他还认识他原始的这个表的名字了,不认识了,不认识了啊,所以你再用表就不行了啊,所以这个地方呢,我们有一点要注意的就是啊,如果为表起了别名,则我们查询的字段就就怎么样呢?不能使用,是不是原来的表名去限定了呀,哎,这个要注意,你要么就用别名去限定,要么就别限定对不对啊,它这样的一个意思哈,好,这是关于起别名这个事情说到这儿。
我来说两句