00:00
在前面内容当中啊,我们讲了Oracle的安装,以及Oracle这个基本的一个管理,那么从这一节开始,我们开始给大家讲呃,SQ语句。啊,那么讲之前我们先从整个这个角度上来看一下啊。嗯。嗯,一直给大家讲,就是你学一门课的时候,学一门技术的时候,哎,你既要能够深入到这个技术的细节,哎,你就一点点抠这些技术啊,一点点的一个学啊又要呢,呃,能够跳出来一个,呃一个比较高的一个高度,你来看这些知识。啊,所以有时候我讲叫什么叫大处着眼,小处着手。你既不能啊,光是看到一个高处细节的,自己不会去实践啊,你也不能光顾着去实践,而不能够跳出来一个高度来看这些技术。啊,两个都不可取啊,应该是像刚才说的这样哈,那么我们这个课后的学习主要包括哪些内容,这里呢,给大家讲,哎,从011直到这个11啊,11节的内容,那我们先整体上来看一下这11节的内容哈,那么一到六。
01:11
一到六,哎,这几节的内容是给大家讲叫select的查询。哎,Select的查询就是很多同学多少的可能接触过一些数据库啊,或者没有接触,接触过的你可能听过这样一个词叫增删改查。啊,那么增删改查就指的是我们主要的对数据库的,哎,比如像表这些数据对象进行个操作,可以增加一条记录啊,删除修改一条记录,或者也可以查询相应的一些记录。那么当然增删改查里边最重要的就是茶,哎,茶也是我们接触最多的一些操作。那么一到第六节,相当于都是在进行查询的一个操作,哎查询哎,涉及到有各种各样的哈,我们就不去细说,然后第呃808就是涉及到了除了查询之外的叫增删改的操作。
02:09
啊以及啊commit提交啊,这个roll back回滚事务,哎这样的一个,哎操作啊,又叫数据处理,那零七叫创建和管理表。啊,创建和管理表什么意思呢?哎,除了我们嗯进行表这个数据的增删改查之外,那么我们想这个表从哪来的是吧?呃,或者说这个表我现在呃不要了,我删除它,或者我想清空这个表等等的一些操作,我们在零七节当中给大家讲。啊,那么第九节,那么如果在这画一条线,前八个啊,零一到零八,零一到零八啊,包括零九讲的都是表,那么约束说的是什么?就是说这个表我在创建的时候是吧?哎,创建这个表的时候,我可以给它加入一些约束,比如说哎,某一列的值一定是非空的。
03:05
啊,以及说主见呀,外界呀,这样的信息,我们都在约束中给大家讲。那么除了表之外,我们还有啊,除了表之外啊,零零到零九之外,还有一个数据数对象叫视图啊,什么是视图,用来干什么用,怎么创建视图,我们在这讲,那么除了视图之外,还有其他的数据库对象。这是我们整个给大家讲解SQL语言的一个思路,一个框架。嗯,然后之后呢,我们还会给大家讲PL circle啊,那么circleq和PL circleq是整个我们对于数据库这一块的内容的一个学习。那么这个再晚了,就是你可以学JDBC了,呃,可可以通过这个Java语言哎来操作数据库啊,当然这个当中,哎是需要你嵌套一些SQ语句的,嗯,然后通过SQL语句和Java语言给它结合起来,实现这数据库的一些处理。
04:03
好,那我们就开始第一节的学习,学习之前我们先看一下这个叫circleq,初步我们再从一个高观点上来看一下这个circleq,哎,Circleql叫,那这个结构化查询语言啊,又给它细分成如下的三块啊,DMLDDL和dcr,这个呢需要大家你来理解。啊,DML缩写呢,你就这是个缩写哈,这个至于是哪个单词的,你你不需要关注,叫数据库操纵语言DDL,数据库定义语言DC叫数据查询语言。那不数据控制语言对吧?啊,那么分别都有哪些操作啊,我们应该来看哈DM语言。就是我们刚才说的叫增删改查。哎,他们四个操作啊,叫DML。啊,当然说这个查询是SQL的一个基础最为重要,所以我们花了六节的内容给大家来讲解。
05:05
那么下一个叫DDL啊DDL数据定义语言,包括创建表哎,修改表,删除表啊,包括这个其他的数据库对象,比如索引啊,创建索引,删除索引等等啊这样的一些命令是吧?哎,Drop啊aler。Create,哎,还比如像这个trumpet,它们都属于DDL的。啊,DDL的一个好了,还有一个叫DC啊,什么叫DC啊,我可以对这个数据库的修改进行一个提交啊,进行一个回滚。是吧,啊,还可以设置一下我的s point,对,这都是属于叫DC。啊,这三个是比较常用的啊,啊这个内容是什么啊,就是分别怎么来使用,我们会一点点的给大家来讲解啊,相当于我们整个呃,Circle这一块啊,我们讲完以后,你再来看这个内容的话,你是都可以来进行这样的一个操作的。
06:06
好了,这个说完以后,我们就从头开始,哎,先看这个第一节,叫基本circle select语句。啊,基本circle的其他课的语句啊,这一节的内容都有哪些?哎,我们一点点来看啊,这是本章的一个学习目标。啊,基本的就是我们使用这个select语句,然后呢,你再了解一下这个circle跟circle plus的区别啊就可以了,好了。那我们就开始这个学习啊,大家呢,诶,你先以这个SC的用户来登录OL这个数据库。我们在上一节的学习当中,已经带着大家一起,哎在我自己的这个创建的数据库对象里边添加了一些表,对吧?来添加了一些表,我们还进行过一个操作,叫哎,Select星from,诶,Employees我能够查询到诶这个employees这个表里边的所有的数据信息,哎一共是二一百零七条是吧,每一条的话有相应的很多列啊,比如说员工的ID号,呃,First nameme或的lastname email,呃,Phone number啊,Her date就供定的日期,还有这个哎照牌ID,呃他的这个这个这工种叫是吧,哎公司,哎这个叫这个奖金率是吧,有没有奖金率,然后他的呃,Manager,他的老板的ID。
07:34
以及它所在的部门。哎,每一条记录都有这样的一个信息。啊,那么我们通过这个S后语句的学习的哈,哎,不管会用到employees表,还有像这个locations表啊,Department表等等,一共有哪些表,我们这儿呢,有一个。Excel这个图这是我做好的哈,大家你可以看一下。员工表结构。
08:01
打开。这呢一共是就是我们添加的啊,上节学习当中添加了几个。哎,这是不是这几个文件啊,这几个文件哈,我们用到的这几个表就是这些employees表,哎,Departments表,Jobs表,Locations表。包括这个叫job grade这个表。那么每一个表里边有哪些列啊?这里都标识出来了。那相应的他们之间也有关系,这个关系呢,我们到后边会说到,说到你现在先不着急啊,等这个事儿。然后回来,那我想在哎这个表这看一下,这比如说注入这个employees表都有哪些列的话,De这个命令叫employees点回车。这里呢,列出来了employees表里边的相应的列,就是我们刚才看到上面的ID呀,Name呀,Email啊,Phone number啊等等这些信息,相应的数据类型以及存储数值范围的大小都指定了。
09:12
这个我往后会一点点给大家来讲解啊,行,那我们就开始讲这个select,你需要先熟悉一下这个表的结构。熟悉一下表结构,这个呢你可以做一个参考,你也可以直接通过这个叫D这个命令来看看一下employees这个表的都有哪些列。那么最基本的一个操作呢,就是这个就是我们刚才演示的select什么呀,我想查询一个表里边的所有的列叫select的星。然后呢,From从哪个表里叫employees表?啊,有这个表他就给你列出来了。你说你要是写错的话,比如说select星from,嗯,这是employee,然后少了一个S,没有这个表,那就它提示说表或视图不存在,这很好理解对吧。
10:09
那现在我说进行这样一个操作,哈星呢表示查询这个表中的所有的列,那么如果我仅需要查询其中的某列或者某几列的话,我们可以这样写select,假设我就想查询一下employee。每个人的员工的一个编号,以及呢叫last name,再查一个,比如email。这三列,然后呢,From employee,这样写就可以。哎,我这给打了一换行哈,Select跟from算是我们circle里边的关键字。那么最好呢,我们出现关键字的时候就给它换行,让那个可读性更强一点,实际上你写成一行也没问题啊,回车。这里呢,就将我需要的刚才查询的这三类信息给展示出来了。
11:02
这就是我们今天讲的一个最基本,最基础,也是比较重要的一个操作,Select的什么什么什么from一个表当中。就是这个意思,好,我们再回来看一下这个PPT啊。那这里指示了是吧?Select from,这是一个基本的一个结构,这个结构大家务必要掌握。实际上你写你就就很容易很简单哈。这是查询特定的列。这是从另一个表来叫department表,这个这都你根据具体的表来决定就行了,你这个表你保证你要查询的这个列是用列名来指示的。那这个列名一定是这个表里所有的,如果没有的话,你当然就出问题对吧。好了,这里有个注意,说S后语言大小写不敏感,哎,可以写成一行,也可以写成多行,这是什么意思啊?就是我们刚才写的select是吧?我们可以这样写select。
12:02
比如说department ID。还有叫department name from有一个表叫department这个表回车,这呢,我就查询到department这个表里边的这样两个列的信息,Select跟from我们看成是关键字,它们的大小写是不敏感的。SQL语言是完全有别于Java语言的,Java语言是严格区分大小写的,SQL呢是不区分的啊,是不敏感的。可以写一行,也可以写多行。也就是说你刚才这个命令。你可以给他怎么着啊,就是加到这个后边这样写写一行是吧,这个就是可以一行或两行都行。呃,建议大家你写成给他写成两行。这样呢,它的可读性会强一点。方便你看嘛,现在那个代码短你看不出来,一旦代码长的时候。哎,你给他换换行格式,调一调可读性就更好,跟Java是一样的是吧,这个不需要多说啊,关键字不能够被缩写,也不能分行。
13:08
关键字这是谁啊?Select跟from他俩不能够缩写啊。那一跨行不成了多个单词是吧。好了,接着各子句一般要分行写,然后使用缩进提高可读性啊,这我们刚才说到了啊,往后。这里有一个说算术运算符数字和日期是可以使用的,算术运算符加减乘除,这个大家我们是不是从一年级开始就就学习了,然后在Java当中,我们讲完数据类型的时候也说到了,哎,有各种各样的运算符,三人运算图是吧?哎,我们在SQL里边带大家一块看一看。啊,算术运算符。比如说你进行一个简单的提拉啊,八乘以4FROM,这就是你你进行任何一个运算一定是有from的啊。
14:04
那这呢,你说我们哪啊,没有具体的表了,那我就用一个尾表来代替叫到是吧,32。就这意思哈,你也可以怎么着我这样de,我看一下。Employees这个表的表结构。表结构,然后他说数字和日期是可以使用这样的运算符的,我们看一下这里边儿凡是标识为number的都是数字。凡是标示为number的都是数字,那么凡是标示为date的就叫日期。那他说这两个是可以进行算术运算的,我们比如说写一个啊。Select lastname工资是不是number类型的呀,对吧,我看一下这个人的工资,然后我想想看一下这个人的一年的工资。
15:03
就是一年的工资就12乘以salary呗,对吧,然后呢,呃,年终给他发了个奖金,比如每个人发1000,你就这样写。然后呢,From an employee。这就出来了,每个人他的,呃,Salary,这是他正常的一个月的工资,以及12个月再加上最后的奖金的一个工资,先算这呢,我们也能看出是不是运算题的优先这个先后顺序啊,先乘除后加减。先乘除后加减,那相应的是不是有小括号的,我要考虑先算小括号里边的,大家你看我刚才进行这样的命令,我选ED,实际上那个全称叫艾。哎,你点回车,我在这里边也可以进行编辑啊,Select的lastname salary 12乘以salary再加上1000,你再写上一个12乘以,哎,Salary加上1000。
16:01
这两个是不是一个意思。显然不是对吧,这呢,表示12月的工资完了以后,整个基础上加1000,而这呢,相当于是每个月1800。那就说明这个有小括号的,要先算小括号里的,这是运算的优先顺序。看这两个结果,你看肯定不一样,而且后边的肯定多对吧。好了,这是我们说的这个salary叫number类型的,我们再来看一下这个叫哎日期型的啊,日期型的日期型,比如说我们select这个系统的日期叫c date啊,那么c date显示的就是我们当天的这个时间,你也可以C实这加上一个一。那C减去一个二。然后from,这当然还是一个维表对吧。
17:00
这是今天。这是明天,这是哎,这这前天是吧,应该叫前天前两天嘛,大家要注意日期,做加减没有问题。日期做加减没有问题,日期啊,它不能跟这个数字做乘或除,你看着啊。Select c乘以一个二常大,它提示说数据类型不一致,这个你先别管它哈,我们后边的时候会说,你想想一个date型的函数做个乘法啊,这什么意思?根本没有任何意义,你要CC的加上一个一表示是明天,减个减一个一表示是昨天,减个二表示是前天,你乘以个二表示的是什么呀?没有任何意义,所以说日期函数做乘是没有意义的,相应的你做除也是不能够做运算的。
18:00
这个是需要大家应该注意的一点,好吧。那我们接着往下。走啊,这是我们说的这个运算符的优先顺序啊,有括号的要先算小括号里的。Big。定义空值啊,定义空值,空值是无效的,未指定的,未知的或不可知的值,空值不是空格或零,我们回来看一下这个概念,叫空值。我们在上边儿。刚才那会儿这样,我们重新操作一下哈,Select from employee,这是这个表的所有的数据,你看里边有一项叫commission GCT,对吧,看这个commission p啊,我发现有的人这块是空的,有的人这块有值。啊,有空的,有有值的,它表示的这个是什么概念呢?就是说每个人的奖金率啊,每个月的奖金率。
19:05
这呢就表示每个月会给他按照工资的10%给他添加一个钱,没有的那就相当于是没有,但没有大家要注意,它不意味着是零。不意味着是零,这个有有点意思是吧,什么叫不意味着是零啊,你看我这样给大家操作一下,我select employ last。Name,我单纯先来看一下,叫mission p c from意思。这呢,我们是单纯拿出来这几类来看一下,有的人有,有的没有,那么我想计算一个这个事儿,你看看啊。Quid这个这个name这我我就不要了,我先写成谁叫salary,我看一下每个员工的这个。
20:04
工资,这是月工资对吧,我来看看它加上奖金以后的月工资乘以括号一加上commission t。拖住花木,他。对吧,这是每个人每个月的工资,这是他每个月的和算上奖金率以后的这个工资OK。大家你看那个结果。或者或者我这样这样再加一个哈。应该能够注意到发现什么呀,凡是这个PC有值的,那么后边一定有值,如果这个commission PC是空的。这个结果竟然也是空。没错吧,这就说明它这个commission pcp啊,确实不是零,因为它要是零的话,你想想你salary乘以一加上零之一,这是不是就应该写上是你的salary?
21:12
但是他没有写。那说明他不是零啊,这个概念你需要呃,得得得自己理解一下,这个commission PC不意味是零,同时呢,我们说明了一个,通过刚才这个看到一个知识点啊,就是凡是这个commission PC参与运算的,如果你要是为空,整个这个结果都为空嘛。确实是这样,我们加一个注释,注释呢有别于Java中呢,在SQ中两个短横线,这个怎么写啊,叫空值,空值不同于零。不同于零,它呢,哎叫叫,凡是哎空值参与的运算结果都为空。
22:07
凡是空制参与的运算结果都会空,这个空啊,你就可以用这个来表示,我们加号中是不是也有这个概念,反道反闹就是空呗,凡是这个闹参与的结果也都是闹。这个需要你记住啊,啊需要你记住好了,这是叫定义空值,那么接着往后。就是说了参运算的都为空对吧,列的别名。我可以给这个列啊,起个别名,这个有点意思,可以起别名,起别名这个方式在下面标识了,我们就不具体看,我们直接来操作啊,通过实操的形式,让大家来这个看一下啊。我查询这样举个例子拉。我在这写吧。
23:04
Employee ID lastname,这都是我们employees这个表里边有的这样的列的名字,我再查询一下这个员工一年的工资是多少,我先忽略到这个奖金率,好吧,先忽略到奖金率的话,那就是12乘以salary。然后呢,From,哎,你不好意思这个在这儿写的话,你这个分号就不要加了。斜杠运行,这呢,我们看到了,当你这个查询的时候,它在相应的这个位置都给你标识,这个叫employd,这叫lastname,这个就叫12乘以salary,这个呢,我觉得体验不太好是吧?哎,我想给这个起个别名,或者你像前面这个employee ID感觉呢有点太长了,我就可以给你起个别名,这个别名在你相应的这个列的后面,不要加逗号,来一个空格写上你想起的这个别名,我可以直接加到这,比如说就叫ID,那last name呢,就起名叫name。
24:13
那salary,我起个名叫annual salary就是年的工资呗,Annual表示每年的是吧?那么这个写法以后我再OK一下。大家注意到,看此时这个名字就是用的这个别名来标识的。叫ID name跟annual salary是我刚刚命名的,对吧,它这呢还是默认的使用的是不是大写啊。对吧,默认的使用是大写啊,这呢命名的有几种方式,第一种就是我们刚才说的这种方式,直接你在相应的这个列的后面给它起上这个别名,列的别名你也可以怎么着啊,在后边给它加上一个关键字叫as。叫as查询这个列,As作为一个这个名来查询出来,这个as你加不加意义不大,还是这个意思。
25:08
就是可以省略嘛,就这意思啊,那么有的同学说我这儿呢,你看这个ID都是大写的,这相当于我们已经说了两种方式了啊,加不加as就算是这两种,有的同学说我这个ID它就是用默认用大写的,我就想让你用一个小写的来表示,这怎么办啊。这个就是我们要说到的第三种方式。别名的第三种方式。加上双引号。此时加上的双引号,如果你是小写的,那么出来的就是小写,如果是大写的,出来就一定是大写,Lastname,我也可以给你命名一下。用双引号给它括起来,这里N,我就让你首字母是大写的,我们看一下这个效果。有效果吧,这呢就是就让你用小写,这呢首字母大写,这个呢,因为你没有用双引号引起来,所以它默认全是大写。
26:05
这呢,我们就说说清楚了,用别名给列起别名的三种方式啊,不加as的时候一种。那我们比如说你这个吧,这这是这这相当于是第一种。然后第二种就是加个as,第二种第三种你可以加上这个双引号,它这个指明。什么时候说这个双引号一定得加呀一个呢,就是你想就确定让它是以小写的形式或以大写的形式呈现的,那你可以加上双引号来表明,就是叫这个名大小写不能改变。还有一种情况就是像后面annual salary,这是一个单词,没错,如果说我现在给这个salary乘以12起个别名,这个别名啊是有两个单词构成的,那你现在这种写法肯定是错的,对吧?中间有空格是不是意味着就是你这是一项。这是一项,这是一项。是分隔开的,那你要想表明整个作为这个12乘以salary的一个别名的话,那你需要给它加上双引号。
27:10
这样写这样的话就是说明它的别名是叫这个。也就是说这个情况下哈,你这个双引号是必须的,就是别名是多个单词构成的。写中间用空格隔开,OK是吧,这个时候没问题哈,你要是不加这个双引号的话,那就是严格错误,你看我给你干掉。想想也知道。对吧,这这肯定是不对的,这就是我们讲那个别名讲了三种方式,第一种直接这样写,第二种加S,第三种加双引号。双引号就说了,这呢严格的按照你指定的格式,这呢如果有多个单词,一定要加上分好再往后。连接服。
28:00
就是我们这一节给大家讲这个东西稍微有点散,有点散就是特别小细节点,就像我们学Java,刚开始也是学学这个,呃,基本的数据类型,然后每一种数据类型是这个大小有多少啊,学学这个什么二进制,十进制,哎,再想想基本的运算符都是稍微有点散的啊,越往后的话,这个东西的集成度越高。知识点越越明晰是吧。好,我们看这个叫连接数的概念。连接符,它用于把列与列,列与字符连接在一起。啊列与字符连接在一起,用双数线表示。其实这个呀,虽然这个双数线我们之前没有讲过。但是。我说这个,但是但是什么呀,你学Java的时候,我们是不是。经常做一个这个事儿啊,或者或者这样说吧,我打印一个语句system.out.print line打印一个什么呀,打一个hello加上123。
29:07
我问大家这个或,或者我后边再加上一个。在这加吧。我再写个123加上。加上一个一加上不整,不整不等了,不打了就看它吧,我问大家这个打印的结果在Java里边应该是什么。是不是应该是这个123哈,123啊。这是这个输出语句打印的结果。此时。只要是有字符串参与运算的。再说一下啊,只要有字符串参与运算的,就是你用双引号括起来的,它跟其他数据类型做运算的时候,这个符号它就不是表示加了,而是表示的叫连接符啊,就是将这两个连接起来,那么连接以后的结果也是作为一个字符串出现的。
30:04
到这儿它作为一个字符串,又跟这个123又是个连接符,所以结果是它,那么放在我们这相当于在S当中不是用的这个加号了,用的叫双数线表示的这种连接功能。也是有字符的。没错,那我们写一个例子吧,哎,写一个例子啊,比如说我们想实现一个这个。你可以这样来查。Lastname,以及每个人的这个叫job ID for me for,这呢查询的是两列,你可以分别再给这两列起个别名,这没问题啊,但是呢,我现在想啊,我就想说谁谁的,哎,工作是什么?谁谁的工作是什么?以一条信息的形式出现,那我们中间需要加一个连接符。
31:05
说叫他他他的工作的工作撇S撇S这个呢,我们不能再用一个这个这个这个竖线了,是吧,这样一运动的话,就这这个意思啊,它的job ID is。这再加上一个双横线,这样不能这样写你这个双横线,它这个单单单撇,他认为跟他是一起的了。那就这个这个就没有用了,所以说这个你不用这样写,写谁呀,大家你看键盘上一左边的那个键。点它这样写。那么此时它能够默认这个单撇跟这个单撇他俩是一家,他俩一起的。对吧,这呢,我们输出一个信息,就是说谁谁谁,他的工作是什么什么什么。From employees,我们看一下效果。
32:00
是不是就是我们想要的。说这个人他的工作是他。理解吧。这呢,相当于这只有一列哈,大家注意,这只有一列。只有一列,只有一列这个列的别名的话,你就没有啥别名,就是整个大长串,你可以给他起个别名,比如as e。我叫detail细节。那么此时就有一个别名了。就这意思啊。这个叫连接符,你也可以说它的叫email。嗯,没意思,这你就写成改成叫email。还从这个表中查都可以,这就比较简单。后边有相应的练习。这呢,就是哎,Last name job ID as,意就是以一列的形式给它展现出来。
33:02
是不是这是刚才举的这个例子对吧。哎,说每当返回一行的时候,字符串都被输出一次,就是你刚才操作的这个这个信息。这个信息当你没打印一条的时候,每一条里边都有这样一个内容,好。嗯,这说的是叫字符串,可以是select列表中的一个字符、数字或日期。字符数字过日期。这个啥意思啊,就是就是last nameme,它的target后边我们会讲,如果你要是使用日期或者是字符串的话,大家你看这这是不是一个字符串。这个字符串在Java当中我们是用双数线来。包起来的表明是一个字符串。而在之后这一块。我们用的是单引号,用单引号来表明这是一个字符串。同样的,这个data也是用的叫。
34:00
单引号给它连接的啊para data,我们往后点会说这个para data用单引号来连接,这个是需要大家注意的,在搜购里边就唯独哪用这个双引号了。就是这我们刚才是不是用的起别名,在别名的时候我们用双引号,除此之外啊,除此之外你就记住我们讲字符串还是讲date,都是用单引号来连接的。这里这个hard data is,你加上hard就可。行,这是我们说的这个信息啊,再往后。重复行。这个第一节这个概念比较散,我们一个得得需要你来记记记忆一下啊,默认情况下查询会返回全部的行,包括重复的行。是这个意思。大家如果你要是打印一下这个信息的话。Last。
35:03
Lastname department ID,这都是我们employees表里边的这两列,需要大家你把这个表结构给它稍微熟悉一下,我刚才打印的是这个。嗯嗯,对,是这个,还有这个employee ID。From employees回车。我们发现有一些员工啊,他这个比他这个部门是相同的,对吧,工资相同的还是出来107.7度,这个你或者说还不明显,怎么就明显了,我把这给你删了。是不是还是107条记录啊,这个记录里边那确确实实有很多都是重复的,我现在啊,我想看一下这个员工到底哎工作的部门有几个。那你这样写肯定不行吧,里边有太多重复了。我就想看有几个的话,应该给我把重复的得去掉吧,那么去重使用的是这样一个命令,叫第第进。
36:10
区分。我字音发音还还都比较准的,Distinct。这个区分一下这个表里边这个列的重复的把它滤掉,OK。12个。刚才你107个,现在12个,那说明你把重复的确实给滤掉了,数一下一二三四五六七八九十十一十二个,最后一个有空的。空有空呗,这说明啥呀,是不是有个员工没有部门吧。有员工没有部门,但是你跟这个重复的,他们每一个还不一样,所以这算上他12个。那这空的啥意思啊,可能那个人就是老板。他自己就没有部门了哈。行,接着往后。
37:03
啊,有一个这样的一个概念,这样一个概念,最后需要大家你来稍微了解一下,这个叫circle和circle plus的区别。SQL plus是一个工具,我可以通过这种工具传送SQL语句给Oracle服务器,根据你传入的SQL语句的信息,比如说是查询的,我可以将这个查询结果发给你。最后给反馈给客户端。那么这两个的有一些区别,我们给大家说一下啊,这个色呢,不用多说了,它是一种语言了,刚才我们写的。这些基本的写select的语句都是属于circleq的关键字,不能够缩写,使用语句控制数据库中的表的定义信息和表的结构,这我们后边会详细的给大家都一加点,都有哪些这个这个控制的方式是吧,登山改查呀,这个什么创建呀,呃,清空表啊等等都是。全称在这儿结构化查询语言。
38:00
这个这个叫circle口是吧。发音啊。发音你你叫叫circle也行,或者呢,你给它发音叫C也可以。我觉得这两个是都可以的。就是也有同学咋发呀,发叫square。这个我也觉得稍微可能有点业余哈。嗯,就是square就算了,你用circle也行,C也可以。别亏了。S plus是什么?是一种环境,刚才我们是不是用了这样一个环境里边调了相应的SQ命令啊?一点的时候。这就是plus。这是一个工具,它是一种环境啊,啊,Oracle的特性之一,关键字可以缩写,它竟然还有关键字啊,还有关键字,谁是它关键字啊?就是这个这呢,相当于我们也是在用这个环节。D employees。
39:04
我这前面是不是有个D啊。它这个D不是circle的关键字。还是plus的。So plus的啥意思啊?就是so plus里边这个环境里有一个关键词叫DA,它实际上全称叫this employees describe,翻译过来。啊,英语好的应该直接都都都见过这个单词描述吧。描述一下这个表的结构,他就将这个表里边儿的都有哪些列,每个列的这个这个数据类型,数据大小都给你列出了。那de他说这个这个相应的circle plus这个命令可以缩写,那么缩写刚才我们是不是就缩写到de了呀,那你能DES吗?不能是吧,这个就太短了,还有哪个ED,我们是不是打开这个。
40:02
编辑一块吧,这个ED啊,也是so plus的一个关键字,它的全称叫艾。小爱,你这不也能开启吗?AED呢,就是对它的一个缩写E行不行?EE是不是不行啊?E,你这太过分了是吧?E,能看出来是啥呀?太过分不行,太短了。你至少得给个ED啊。这个就是叫。一个环境对吧,Circle plus这至你你你不懂,你别别乱想哈,你说一个学C学过C语言,C语言呢是一门编程语言,那C加加呢,那是在CC的基础上给它的一个扩展,所以有时我们把CC加加叫c plus plus就C加加嘛,那你别看到这个circle跟circle plus说circle plus也是circle语言,只是它的一种升级。那就完蛋了啊,工作的时候千万别这样说,整的你太业余了,包括后边我们还说这个c sharp c sharp,实际上是四个加。
41:07
Plus plus plus4个点。被压起来。你甚至别整的那什么circle是一门语言啊,MY也成一门语言,那就错了,MY是数据库。SQL数据库对吧。好吧,这呢是一种环境,这是一门语言啊。往后。这个就过了,大家了解一下就行,显示表就刚才也也也也介绍了,全称叫describe。那么整个这一节的内容我们就讲完了。通过这一节内容,你需要会什么?就是select from啊c from里边额外再需要多的就是一个起别名,然后呢,如何来删除这个表里边重复的这个列用的叫distinct。指定的列就是你需要哪一列,你就写哪一列就完了。Select from,这是最核心的这样一个结构。
42:06
From哪个表?这个呢,这一节。的一个最基本的,也是我们日后学习,只要你学思后,这个是I才出了。就像你学这个Java语言,这个c.out点一样,或者更绝点,没方法。啊,这都离不了的哈。行,这一节呢,我们就讲完了。这节讲完了,后边呢,对应的有一些练习。
我来说两句