00:00
那接着呀,咱们讲下个问题,这个下个问题呢,叫做列的别名啊,这呢也是比较简单的一个事儿,那刚才呢,咱们这个写法啊,我说呢,这块我用了一个空格了,此时的话呢,其实就有点儿这个,呃,不是叫有点了,它就是别名了啊,你会发现呢,你看这明明还是last name,但是它的名字呢,叫成salary了是吧?那怎么来解释这个事儿啊,就是咱们现在要说的这个列的别名的问题啊,比较简单,来我们给大家解释一下啊,这是第六个事。列的别名,那别名呢,毫无疑问是不是就起了另外一个名字而已,咱们知道呢,在这个表当中,比如我们就起了个A,那我们能看到的这个像employeed firstname lastname,是不是这都是属于咱们叫列的别名啊?不是列的名字对吧,那我们想给这个列的名字呢,起一个别名。啊,我们上学的时候是不是老爱给人家起外号是吧?这个外号呢,其实就相当于是这个别名,只不过外号一般都没有什么好听的,那叫外号了,行,那别名怎么处理啊,来看一看,比如说我们现在呢,去select,我叫employee ID啊,我先整几个last name这个来一个depart。
01:11
ID大家呢,需要把这个表当中的这些字段呢,稍微的熟悉熟悉,咱们后边呢,写的查询也好,自然感也好,咱们经常的会用到这个表,当然还有其他几个表,其他几个表我们用的时候再说这个表里边这些字段呢,大家需要去熟悉一下。每个字段呢,表示的是什么意思,OK,行,那我们这块呢,就是查询这个表中的123这样的三个字段没问题对吧?好,那么我们在查询的结果当中。我们给下边这个呢起个名字,这个结果呢,你看有好多条,我们把它称呢叫称作呢叫做结果集。后边我要说结果集,你知道什么意思,就是我们查询这个结果,来查询这个语句,呃,返回给我们这个结果构成的这个集合叫结果集了,那英文呢,叫result set是吧?结果集好,那么结果集当中呢,这个也是个表了,它的这个列名或者叫字段名,就是我们原来这个表中的名字,那能不能不一致啊,那不一致就是通过这个别名来区分的,比如说我们这个employee ID,我们在后边呢,来一个空格。
02:15
空格这块呢,我写成叫emp_ID。那这个呢,就叫做列的别名。来,我们选中执行,当然你看此时我们这个结果集当中的这个列名是不是就到EPID了。那那就没有说这个叫employed这样的一个字段了,就改成他的名字了,这就相当于是咱们命名的一种方式。那同样的呢,我们要用这种方式,比如我们这个叫last name,我就给它改名成叫l name了,是不是跟它是同样一种方式,对吧,那这块我们再引入一个关键字呢,叫做as。哎,引入一个关键字叫做as,这个引入它跟不引入它呢,其实是一样的,你看我们执行效果呢,是不是也是相当于起鹅别名对吧,那这里边儿这个as呢,就是别名的意思,它的全称。
03:06
这个as呢,它还不是说呢,把这个字段作为或者叫,呃,好像是咱们英文里边as不是有一个作为什么的意思,这个它的全称。这个乘。叫alias。就是别名的意思。别名。那也就是说呀,咱们这个单词呢,它就是叫Ellis,就是这个字段别名是它啊这个意思我们说呢,是可以省略的。没毛病是吧,那咱们也可以理解成呢,这算是这个列的别名啊,就是给列起别名的第一种方式,这个呢,咱们可以看成是第二种方式吧,就加了一个as,好,那么还有一种方式,还有一种方式,比如这个叫department ID,咱们给它起个名字呢,叫做DEP_ID。那大家会想这不跟第一种一样吗?确实一样是吧,咱们先走一下看没问题啊,确实是一样的,那么这时候呢,我们第三种方式怎么着呀?那我们说还有一种方式,就是列的别名可以使用一对双引号引起来。
04:15
可以使用一段双引号引起来。OK,那也就是说呢,我们这个de pd下线ID啊,我就可以用一对这个双引号。诶双引号是不是引起来了,来我们这块呢,选中来执行,你看没有毛病。对吧,没有毛病,那这块呢,大家你注意咱们这里边儿写的英文,我能写汉字吗?比如我们叫部门的一个ID。感觉上心里还挺忐忑的是吧,来,咱们走一下。你看发现是不是也可以啊,咱们支持UTF8嘛,对吧,哎,所以也可以啊也可以行,那也看会想,那我这时候我要把这个双引号去了,行不行呢。走一下。那也可以是吧,那有可学想那第一种方式跟第三种方式,呃,怎么感觉第三种方式有点鸡肋呀,然后自己还得写一段双引号是吧?那这块我们说一下,在咱们现在这个情况当中啊,你要是去了,那去了就去了也没关系,但是有一些场景下呢,就不能去了,比如说大家看我这呢,再加个字段叫salary,这叫月工资,我乘以12呢,是不是就是这一年挣多少钱啊,那我这块起个别名叫什么呀,叫annual。
05:25
Annual。这个annual是每年的意思是吧?诶salary就是每年的工资是多少,诶这块呢没毛病,这呢是不是你乘完以后的这个值,然后这呢是它这个别名是吧?来我们先选中走一下。哎,出来了。没问题,那现在呢,哎,我说这个事儿,我们现在想给它起名别名啊,就叫这个名。注意看,我想让它整个充当我们前面这个字段的一个别名,你想想此时会不会有问题啊?你看是不是挂了。啊,大家一看到这个错误信息呢,就有的同学刚开始学习这个搜狗的话呢,就是特别紧张,一看到报错了,哎呀,不知道该怎么办了,注意这些错误信息啊,其实你应该感到庆幸。
06:10
为啥呀?你想想,如果你这个SQ写错了,然后它也不给你提示,哪错了,你自己去找啊,那语句短一点还行,语句一旦长了,从头一点去排,是不是能累死你。对吧,那他能给你提示这个错误信息,那其实就是让你看的,便于你是不是快速去找到这个问题啊。就跟你去医院里边,假设你是个医生,那有病人来看病了,你明明有仪器可以用,你非不用,你就那望闻问切,那有点不太靠谱是吧,那你该用仪器检查,检查的这个结果呢,是不是就给你很好进行一个判断呀?啊,现在这个医生我觉得比原来这个好当多了啊,你先各种各样的仪器一上来先做检查啊,检查完以后呢,我觉得咱自己都能看出来这个病是什么毛病了。啊是吧,啊,当然有些大病的话,还得需要医生啊做手术那你肯定不能自已来了啊,有一些这个问题,那做完检查之后呢,那其实就很清楚了,那就跟我们说看这个代码,这个错误信息也一样,你这个能看懂了,那基本上你也知道是什么毛病。
07:09
行,那你这块呢,你说near啊,在咱们这个SCL这块出问题了,那就是它这出问题了,相当于呢,咱们把这个annual呢,看作是它的别名了,你那这都别名了,你你你你这啥意思。你给我再起个SL,把我这个别名也替换替换掉,那么搞笑了嘛,是吧?所以呢,这种场景它就不好使了,那如果我就想着让他来这个作为别名怎么办呀?啊,就像小孩子一样,总会提一些这个过分的要求,那我们说也有办法,那你就是把整个这样的两个单词用一对双引号引起来啊。好,这时候大家再来看啊,我们走一下,那你看就不报错了啊,这我们终于想到一个双引号必须要用的一个场景啊,有点意思是吧,好这呢,就我们讲的这个别名几种方式啊,第一种最简洁,第二种加个as,第三种是不是这样写,那中间这块我们补一个as,是不是照样没有毛病。
08:03
哎,可以看作是我们这个第二种这个加S的跟这个第三种这样一个结合是吧,哎,OK啊行,那算是咱们讲了这三种方式,哪三种方式好,再多说一句。有的同学啊,这个手就容易抖是吧。哎,这个一抖啊,写成个单引号了,一抖写成个单引号来,单引号靠不靠谱走。诶。那也可以是吧。也可以啊。哎,注意我们这块强调一下。强调一下什么呀,就是咱们这块明确写了列的别名,使用一对双引号引起来,那不要使用。不要使用这个单引号,其实这句话我都不不该写,因为我写的话呢,本来没打算用,写上之后呢,反而容易让你觉得呃。觉得说好像能用似的是吧?嗯,那为什么我们这块用没错呢?是因为这个my circle啊,它在这个方面呢,这个语法上不是这么严谨的啊,在咱们这个circle,咱们说这个ASI,美国标准标准局是吧,国家标准局啊,标准组织它里边规范的话呢,就是用于对双引号的,但是MYSQ呢,这块支持的不是那么严谨的,你用一对单引号也行,但是呢,呃,大家在实际开发当中,你不要用单引号就太业余了,会被人笑话的。
09:21
那同样的道理,咱们翻回去,你看我上面呢,是不是定义字符串的时候呢,咱们用是单引号,那有的同学呢,可能自己也是一紧张,写成双引号了,这这这怎么办呀,那这块呢,你看我写成双引号以后咱们来,嗯,咱们是是不是数据库变了啊,咱们还得调成这个数据库,小心一点,调成这个数据库在这里边儿有咱们这个EP这个表对吧?好,我选中以后呢,咱们扫一下。大家发现是不是添加成功了。你看是不是又加了一条。那这块你明明写明语对单引号,咱们用双引号也可以啊,还是那个问题,规范里边提到的就是应该用单引号,但是my circle在这方面呢,不是太严谨,所以用双引号也可以,但是大家不要用双引号。
10:06
如果呢,我们放到Oracle当中,你要用双引号在这写它就报错,你要这块用单引号呢,它也报错。啊,注意一下,那咱们还是稍微的严谨一些,那该用什么就用什么,你你别整那花里胡哨的,然后还报错是吧?啊那不是什么这个,呃,好习惯啊。行,那这样呢,关于这个列的别名,咱们就说完了。啊,说完了,好,那我们看下一个问题,这个呢叫去除重复,行,诶这是什么意思,来我们演示一下。去除重房来我们直接操作啊,我现在呢叫select叫depart。Meant ID from an employees。我们查询一下这个表中,呃,比如我们现在就有这个诉求,我想查询这个表中啊,员工表中。那一共有多少啊?有哪些部门ID呢?
11:02
诶,这个诉求是不是合情合理呀,那我们看这个员工表当中到底有哪些都在哪些部门是有员工的呀,那咱们这样的一查询。好,一查询咱们得换成这个库是吧,然后选上这个库啊,然后一查询是不是出来了。诶出来,诶同学说,哎,怎么这还是个闹呢,那这个闹的话呢,咱们一会专门来讲它在这块呢,意思就是说有一些员工啊,是不是没有部门啊,没有部门呢,他这个就空着了啊,就是个闹的意思,那下边这块呢,你看就是这个员工他所在的部门,那咱们这个表中一共有107条记录,你发现呢,这个结果呢,也给我们输出了107条记录,那你发现有很多这个员工啊,都是在50号部门的,结果呢,全都列出来了,就感觉差点意思是吧,就好比是这个,呃,比如说你这个部门的这个组长跟你说,诶说呀,这个小张,你把咱们这个员工表中的都有哪些部门啊,所在部门呢,你给我列一下。那明明的话呢,我们打一张纸就能打,打打完了,嗯,就是一个部门就显示,呃,这个很多员工在一个部门,那你就显示这一个部门就行,结果呢,你每一个都打出来了,这员工要是有两万人,那你得打一节,这个值了。
12:09
那就不太靠谱是吧,那我们希望呢,是不是把这些重复的数据啊,给它合并成一条就可以了,或者说呢,叫只留一条。怎么办呀,那这个时候呢,我们就这样来写,在这个department ID前面加一个叫distinct。加一个这样的一个关键字啊,这块我们说一下,这是一个叫错误的是吧,这个呢是我们说哎,或者这个我们称为呢,叫没有驱虫的情况。没有驱虫的这个情况,而我们下边呢,是一个正确的。正确的就是哎,去虫了的这个情况。啊,或者叫去重的这个情况,那我们把它呢选中大家再来看,我一执行你会发现呢,此时这个结果呢,就变成了12行记录,那也假设呢,有好多员工都没有部门,那我这块就只留了一个是吧,一个闹,然后很多员工呢,都在12部门,我们就只留一个十号啊同样的道理啊,一共呢是有哎12种情况。
13:10
这儿呢,是咱们说的驱虫这样的效果。就是去除重复数据呗,只留一个就行。那这个呢,其实就说完了,这个说完之后呢,呃,总感觉有的同学这个这个用起来我觉得不太踏实,哎,有可能就会写一些这个错误的场景。这个我们整俩错误的啊。你看你这块会不会这样去写,嗯,怎么着写啊,比如说这个叫select select写个啥呀,比如说写个salary吧,然后来一个distinct。Department ID。哎,然后from an employ employees,大家你想想我这个写法对不对吗?如果要是没有这个的话呢,我们这样一执行,那肯定没毛病,就是每一个员工啊,这不一共有107套记录嘛,每个员工有个工资,还有他所在部门是吧,然后呢,现在我把这个后边这个字段呢,加了一个distinct,你想想他能执行通过吗?
14:11
相当于我们是不是给这个字段呢,去驱虫了是吧。大家如果你有印象的,咱们上边这个查完以后这个字段,其中以后是不是有12条记录。那你想我们这个salary员工是不是有107个员工,那就意味着是不是应该有107个salary。当然虽然有些是相同的,但是你也没说让我去重啊,那你想这个表格是不是就嗯这这划不了了呀,你第一列107条,你第二列12条,那哪跟哪啊,是不是也对不上,那自然而然的,我们这个要执行啊,它就是呃错误的。这个实实际情况也满足不了嘛,是吧,这就是错误的情况。有点意思吧,好,那我要这样写呢,大家看,哎,彻底呢,给你整蒙了啊,哎,我把这个。呢放前边,那我这个给他salary扔到后边。这样靠谱吗?你看看。
15:02
这样靠谱吗?这个有同学可能会想说呢,前边你有12条,这个呢,还是有107条,那不就是前边这个短,后边这个长也不对吧。也不对是吧,那我们走一下,你看能不能过啊走。哎哟,出来了啊出来了,那这个事怎么解释呢?你看有74号记录。7月4号是吧。哎,这个呢,其实是这个意思,这个呢,Distinct它一方面呢,考虑的是给我们这个底盘麦去驱虫,另外一方面呢,他也考虑这个salary的一个驱虫,你看我们这个结果里边,比如说这个60号部门,那明明驱虫60呢,怎么会有好几个呢?因为呢,呃,里边有员工,你看他们的工资是不一样的,相当于我们得到的这个整体,它是跟其他的这个是不重复的。比如要有员工还是60号,部门还是这个4200,这个时候呢,我们就只列一个了。那就是这个意思,所以说这块呢,有70多条记录,但是这个需求呢,虽然说我们这个语句执行倒是没有报错,那我们说呢,仅仅是没有报错,但是呢。
16:07
你想是不是没有实际意义啊?你说你这查了个什么呀。查了个寂寞是吧,虽然结果没报错,但是我们谈不出来你到底是什么需求嘛。所以也没啥意义。好,这呢就是我们关于这个去虫它的一个说明,大家要用的话呢,就是一方面呢,是我们单独这样去使用,再者的话呢,这个in呢,我们在后边这个子查询当中啊,诶会去使用到这个distinct。哎,大家到时候呢,再注意一下就可以了。行,那接着咱们这个继续啊,继续咱们刚才说的是第七个,下边来第八个点,第八点看一下我们这个课件。嗯,课件叫空值参与运算,那这个呢,稍微有一点点难度了,哎,有一点点难度,空值参与运算首先呢,咱们先得理解什么是空值。这个空值就是我们这个某字段呢,它是一个闹,这个闹呢,就是表示的是空值的意思。
17:06
那比如说咱们刚才大家你看我这块呢,去的时候呢,你会发现是不是存在着有的员工他的这个字段这个位置呢,是一个now啊,这就表示它是空值的意思。那我们在这个表中呢,这个有一个字段呢,这个控制的情况比较多一些,CTRLC一下把它粘过来,来我们这块呢,选中执行,我们这有一个叫commission PT,这叫奖金率,这个奖金率的话呢,你会发现你看是不是好多人这个奖金率这块都是no啊。那这些人呢,是有这个奖金率的。啊,后边看还是no是吧,OK,那么首先我问大家一个问题啊,你说我们这个空值咱要闹哈,它是否。是否等同于这个零。是吧,那这是我们从数值的角度去说的,或者说我们从字符串的角度呢,诶跟这个又是什么关系呢。对吧,哎,他们有关系吗?啊,这块你注意啊,是不同的啊,这个我们说这个nor呢,不等同于。
18:04
哎,我们说这个零还有这个,哎,单引号里边啥也没写,那甚至说你跟这个单引号里边我们就写成一个闹了,这这肯定都不一样了。那你比如说你要写这个零,你你像我们说这个部门的,咱们这块不是有一个员工的部门。啊,有一个也也没说是一个啊,但实际上我们这个表中就这一个,这个呢,部门写的是个no。你要是把这个闹呢等同于零,那是不是就意味着员工他的部门ID就是零了,而我们写成nor的意思呢,就是说,嗯,不知道啊,有可能这个员工是刚入职,还不知道给他分到哪个部门呢,你要写零,是不是就给人家扔到这个零号部门了?啊,就这意思哈,那也就是说你像我们这个commission PPT,就是有的员工呢,他这块是no意思呢,就是不知道他的奖金率是多少。但是没说人家奖金率,奖金率是零,这个你要小心一点。要小心一点就是这个问题,好,那这呢是我们想强调的第一个点就是空值啊,诶这你这可以这看到是第一个点吧,然后第二点呢,就是说这个空值啊,它不等同于我们说的这个其他的一个字符串这个结构,那下一个问题呢,就是我们想强调的这个空值参与运算会是什么样的一个效果。
19:15
控制参运算。参与运算,来我们举个例子,比如说大家你看啊,我们这呢,是不是叫employed,然后我想再查看一下,这个叫salary,是不是,这是员工的这个月工资,你也可以在这写上。月工资我就用中文来表示的,然后呢,我再想看一下这个员工一年他到底能挣多少钱。一年能挣多少钱呢?我们先乘以十,诶这个先先先怎么着啊,这个咱们salary呢,去乘以的话呢,咱这个12个月是吧,看一下啊,别蒙了啊,这是他一个月啊,先看一个月挣多少钱吧,除了这个基本工资之外呢,是不是还有这个叫commission。这个PT是吧。那么这是他一个月挣多少钱?12个月吧。
20:01
这块没问题,那我们这块呢,叫这个年工资。感觉呢很完美,From employee,我这样一说呢,大家可能觉得说好像有点问题是吧,哎,确实有问题啊吧,你看,呃,我们这块呢,是这个员工的ID,这是他的一个月工资啊,这呢从是他这个年工资,从这个语法上来讲呢,这都没毛病啊,这个列的别名我们写的也对的,当我们选中去执行的时候呢,也没有报错。但是总觉得哪里不太对。比如说100这个员工一个月呢挣2万,四年工资no。年工资是no啊,这就不太对了。那你发现有的字段呢,又有值是吧。有的又没有纸了。那这个原因是什么呢?那这块呢,我们再加一个字段来做个对比,我把这个commission PT这个字段呢,单独的咱们再查询一下。走诶,这时候大家你看。看这个结果就很清楚了,你会发现呢,凡是我们这个年工资是闹的呢,是因为我们这个commission PT啊,它都是no。
21:05
就到这儿,那只要呢,我们这个commission PPT,他不是闹的这个结果呢,其实也确实是这个员工一年到底挣了多少钱,不信你可以算算,一加上0.4,然后乘以这个工资,再乘以12,啊其实就是这个数。就这个数没问题,你看下边呢,又又出现这样情况了。那这块呢,我们想说明的点是什么呀?就是空值,如果你要是参与运算的话啊,不管你是加减乘除还是其他的运算,只要你参与运算,我们说这个结果啊,一定也为空。或者你一定也会闹啊,也行。这是我们这个通过实际的这个案例呢,演示出来的。那有同学可能会想说,老师啊,你这个,嗯,你你要是这个员工要是没有这个奖金率的话呢,那就别跟人家算奖金率了呗,就按零去考虑嘛。你看你是不是就落入了一个圈套什么呀,我们说了no是不是不等同于零啊。
22:00
啊,你是想把它看成零来对待,但是人家本身它可不是零啊,啊,它可不是零。啊,那应该怎么去,如果说你就想这样去做怎么办,就是咱们后边呢,会讲到这个流程控制相关的这个函数啊,流程控制相关的函数,呃,其实呢,要解决的话就得这么着了。比如这块呢,我们写个叫ifno。啊,提前呢,咱们只是讲一下啊,然后这块呢,我写个逗号来个零。嗯,大家呢,就是先提前,就是我们这是基于这个诉求,咱们相相当于提前说了一下啊,呃,这个函数什么意思啊。呃,这个就是说,如果我们这个字段呢,要不是闹呢,啊不是,那你这块呢,它是多少你就拿多少去算,比如说你要是这个0.1,你就拿0.1去算,如果你要是闹呢,就拿零来替换。那既然是零来替换了,这个时候保证我们这个结果是不是就不会出现这个运算以后还是这个no的问题了,你看这是不是实打实的就算出来这个数了。那通过这呢,大家也能看到,就是人家天生不是零,是我们拿零去替换了而已啊,只是一个解决的一个方案啊。
23:05
那实际问题的解决方案?嗯,这个呢,我们还相当于是引入了。看if。哎,No,啊,这个咱们后边讲到这个,呃,流程控制讲到这个单行函数的时候呢,我们会去说啊,就是在这。单行函数在这啊,里边我们会去讲。行,那么拉回来,那么这样的话呢,咱们就把这个空值参与运算,这个问题呢,我就给大家说清楚了以后呢,大家在操作的时候呢,要小心一点啊123哎,注意这么三个事儿。好,那么接着我们来看下一个问题,这个呢,叫着重号。着重号啊,什么意思呀,哎,我这块呢,看着挺高大上的啊,咱们这块一说呢就明白了,它呢其实不难啊,这个叫着重号。哎,中众号中众号是谁啊,是咱们这个大家这个键盘看下,你自己键盘这个上边有一排123456是吧,在一左边这块上是不是有一个这个符号啊。
24:08
你看我这块我要这样是不是就这个符号,那么一对这个符号呢,就是表示叫着重号的意思,它能做什么用啊,咱们一说需求呢,大家就能明白,举个例子。举个例子。嗯,大家你看啊,我这个这么多表里边儿有一个表啊,它比较特别,这个表呢叫做order表。你看是不是这个表就order表,那我们想查询这个表中的数据怎么办呀?是不是就select星,然后from一下这个order就可以了呀。哎,我选中一致型是不是就妥了?来,走一下,一走开挂了。说哎,不对呀,这不就是查询字段,所有字段from一个表吗?那怎么还报错了呢?你看在这个order这块出的问题。啊,大家你看这个order呀,长得是不是有点特别呀?哎,你怎么跟这个from长的颜色一样呢?那你是啥呀?哎,这个order呢,注意咱们后边呢会讲这个叫排序。
25:03
在我们这个位置呢,讲这个排序,这个排序用的关键字就是order啊,咱们先提前剧透一下。那这个order呢,说白了是一个关键字了,那我们现在在查的时候呢,是不是from后边呢,要用个表,他发现呢,你用了一个关键字,他就认为你这个不对呀,你没写表明,哎,从语法上呢,他就给我们就报错了。这个事儿的话呢,其实咱们上边这块有写。来,我们翻译一下。在这块在命名规则的时候呢,大家你看这里边儿有一个这个啊,说保证必须保证你的这个字段没有和保留字,数据库系统或者常用的方法呢,是冲突的啊,这个字段或者我们表明也一样的道理,你这个表明也好,字段名也好,你不要用咱们系统当中出现过的这些保留字或者关键字,那这块呢,你要用的话呢,就出错了,你要坚持使用,使用一下这个着重号。咱们现在这不就在解释这个着重号吗。
26:02
能理解吧?啊能理解啊,就是呃,他认为你这呢,不是这个表明了,那我们怎么搞定这个事儿啊,你说我已经这个这个叫什么。嗯,木已成舟了啊,这个这个已经这个生民主征这个好像不太合适是吧,哎,就我已经就这样写了,怎么办呀,那我们这块呢,你把一左边这个符号呢给它,呃修饰一下。当然你会发现呢,此时这个order呢,就不是蓝色的了,就是一个正常的一个嗯字段了,是吧,这个你跟单引号还是不一样的,要小心一点,那么此时呢,我们选中再去执行,你看就出来了。就出来了,所以这个主动号的作用呢,我这一说大家就能明白,就是当我们出现的这个字段,嗯嗯,或者或者你大你看这儿我们这块呢,是不是这个叫a salary,就是咱普通那个字段,你说这块我们要加上一个它行不行,哎,我们选中一致行,那是不是也可以啊,也就是说我们普通这个字段也好,这个表明也好啊,咱们呃这个这表明这块行不行。
27:01
倒是没怎么这样加过啊,走一下那也行是吧,就是诶我们这个表名还有这个诶诶没这样加过,因为这个不用加这块才需要加是吧,表名也好,这个字段名也好的话呢,我们加上这个单这个这个着重号的话呢,呃是没问题的,但是一般情况下呢,咱们就不加了,看着还挺呃这个。叫什么还挺这个可读性还变差了是吧?哎,但是呢,什么情况下必须要加呢?就是你如果出现了字段名,或者是我们的表名,哎跟咱们的关键字保留字啊重名了,那你这块呢,就是呃,要明确的加上这一对一个着重号表示呢,你就是一个普通的一个呃,是一个字段也好,是一个表面也好,而不是咱们所谓的关键字啊保留字啊就行。这呢就叫做这个,哎着重号。啊,将这个着重号。啊,就完事了是吧,就完事了啊。那再接着我们往下看,下边有一个叫查询常数啊,这个也比较简单。哎,咱们再列一个啊幺零啊,查询常数,这个这个数,这个常数呢,就是这个意思,你比如说咱们现在我想查询后边呢,咱们就还from这个employees吧,哎,正常呢,这块呢,就列举比如说叫employeed,有这个last name,就是员工的ID和他的这个姓名是吧,那我们这块呢,就想再前面,比如再加上一个公司名,那公司名呢,咱都是一个公司的,那这块呢,我就想加一个,呃,咱们是个字符串了,用单引号来表示,哎,咱都是这个,比如说商务部的员工。
28:31
我想加个上柜股是吧,那这样的话呢,靠不靠谱呢?有同学可能会想说,这个员工表里边有107条记录,那这块呢,有1107这个字段,这也有107个字段,那这块呢,就是第二列107啊,第三列107,你这第一列是不是就一个呀。那你这一执行不就这匹配不上啊,那会是这样情况吗?来我们走一下看看。好,大家会发现呢,是不是没有报错,那这个时候呢,我们这儿可以理解成就是一个常数啊,或者我这块再整个逗号,咱们再来个123。
29:02
来我们再选中这个执行啊123,你可能说这这啥意思呢?呃,没有什么意思,就是单纯的为了演示一下而已,它呢作为这个常数出现,我们会发现呢,你这个表中后边这些字段呢,如果来自于某一张表,像我们这个表里边有107条记录,那么前边这块呢,这个作为常数出现呢,它会给我们每一行都会匹配一下这个常数的。所以呢,就会出现了,哎,这个上规谷123这个呢,给每一行呢,你看都做了一个匹配。啊,这就是咱们所谓这个常数,就是如果说呢,大家在诶开发当中的一些特殊场景当中啊,需要用了,就比如我们现在说的。这个大家都是上微谷的。而这个商位骨的话呢,又不存在于我们这个表中这个字段里,那我们就哎用一个常量的方式呢,常数的方式来表示,哎就可以了啊比较简单,行,下一个呢,叫显示表结构,哎这个的话呢,我们在其他的这些呃,这个数据库当中啊,也会有这样的类似用法啊,哎,用谁呢,叫Dis describe显示表的结构。
30:03
来,我们把这个呢列一下。显示表结构啊,嗯,怎么做呢?呃,全称的话呢,第1CRAB这个单词的话呢,大家上中学是不是都背过呀,叫描述的意思,描述一下我们employees这张表,那就是这样来写,来选中执行,诶这块也出来的是一张表,这个表呢,我们前面没有见过的,它里边呢,实际上是刻画了我们这张表创建的时候的字段的相关信息。这我们大家写一下,就是显示的这个表中字段的相关啊,或者叫这个详细吧。这个很信息,哎,这个我们看看都有什么啊,这个员工表当中啊,咱们说一共有11个字段,你发现呢,在这张表中,这11个字段是不是都作为每一行数出现的。
31:00
我们里边有员工ID,有firstname,有lastname啊等等等等等,一共呢是11行数据,然后呢,接下来是关于每一个字段,或者叫每一个列,它的就是咱们这个表中的每一个列啊,它呢,诶对应的数据类型,Type呢就是数据类型,比如说我们有firstname lastname,这都是字符串类型的。这个20跟15呢,表示的就是我们一个员工他的名字,比如说last name呢,他一共可以有25个字母,这个字符啊字符,哎,像这个呢,就是这个整数型的啊,这个关于类型的话呢,我们专门有一章呢,会去说这个,咱们先不重点去讲这这就是字符串的意思,然后下边呢,就是你有没有是不是允许为闹,就是是不是可以取值为空。哎,空值咱们上面不也提到过了,这个呢,意思就是说呃,这个呃,每一个员工的话,他这个firstname这块呢,是可以写not职的空值,而这个LA呢,不能写空值,就这个意思。在后边这个K呢,就是来刻画一些约束的,比如主渐约束啊,唯一约束啊,呃,这个就是属于混合这种约束了,呃,这个呢,暂时咱们先不用过多的去研究它啊,后边这个是不是有默认值,还有其他一额外描述啊,主要来刻画这个信息的,你就知道呢,这块我们如果想看说诶,我这个表里边儿都有哪些字段。
32:12
分别这个字段的是什么类型的,有没有什么一些约束,你就可以通过我们这个指令去做就可以了,那这个指令是一方面,另外呢,还有一个呢,叫做DEA,相当于就是我们这个单词的前四个字母,你把它选中,执行效果是完全一样的。就这俩都行,哎,同学说那我就加个二行不行。你一看,是不是有点别扭?你看他他都没给我们显示它是一个正常的关键字了,是吧,哎,所以不靠谱啊,这个你就写DA,就是写它或者写它来查看我们这个表结构啊就行。那其他的这些表呢,也一样的道理哈,DA,那我们来个department。Department是不是就我们这个叫这个部门表是吧?哎,把它这个选中我们执行一下,这就是部门,部门表当中一共是有四个字段,然后呢,分别的类型啊,是不是为空啊,一些约束有没有默认值啊,额外的一些说明啊,这就这样的情况。
33:08
这个呢,我们后边呢,想看一个表结构的时候呢,我们会常用的这个大家要记住它啊,显示表结构。啊,就这样。
我来说两句