00:03
还得重新说一遍,现在我们使用join on句,使用on里面的条件作为查询条件。主文啊,On里面现在就没有什么所谓的参照列,那我可以去做员工去做部门表和位置表之间的。查询。d.LCD等于L点,那在这N减一个,用中项做N减一个等值差距,N减一个中样次距,并且我们可以加入产其他的查询条件,那我要做join样做非等值查询select除joins。写条件呗,啊一点。Salad。Between s点漏塞了,S点太塞了,e.name e name,然后是s.grade s点漏出了,S点太塞了。
01:22
Between s o s and。加入其他的差询条件,yepmy1.epm等于7369查询史密斯的工资级别,用中二做非等值查询也可以。John。
02:04
啊。这是新标准的Y连接,就跟老标准的Y连接一样,可以查询不满足等值条件的数据,那又分成left John。Right four slot from left out。DEPT。
03:03
D好点dp number等于E点。Dept。那么DEP。好一点。e.MPM1.1内一点。d. dpd numberd. dp numberd.LCD点。Left out。
04:00
左外连接。可以把左边。表中不满足。等值条件的数据查询出来,注意左边的表现在左边和右边就不是通过它来区分的了。而是。通过这。From这个表left out。不是通过这来区分的,我们看一下,照刚才那样,我也说给他调一个。
05:03
你说这个跟老标准那个,我也给他叫一个,你这样不就是确定了它的左右两边不一样了吗?但是刚才我们说了,不是通过这来确定左右的。它的左右是通过from left out,通过这儿来确定左右的。那现在我就是想把部门表中不满足等值条件的数据查出来。从这调整它的位置。通过这法来确定两个表之间的关系。两个表之间的关系。这样不就把40部门表中的数据查出来了吗?左外联,右外联。乱乱的可以。
06:03
把右边表出不满足等值条件的数据查询。把left换成right right。右边的表现在是第1PG表。右边的表,第一批地表可以把第一批D表中不满足等值条件的数据查出来,那同样我也可以调一下个。右边的表现在是谁呢?右边的表是员工表。
07:07
把员工表中不满足等值条件的数据查出来。通过right out the right out准来确定它的左右关系。这个人又去逛鹦鹉商店,发现一只鹦鹉卖5万。问老板,你这鹦鹉咋又卖5万了?老板说,这个拉左脚会说英文拉,右脚会说日文拉,中间的脚会说说哪国话呢?会说韩文。嗯。全外联。
08:00
左边点不满足等值条件的,右边点不满足等值条件的都可以查出来。可以把左右两边表中不满足等值条件的数据都查询出来。全外,这是老标准的几种查询方式,那注意这有一个aldo。为了和这个out和这种Y连接有一个对应,在使用砖on的时候,我们可以加一个。婴儿。实际上你加不加这音呢,没区别。
09:00
只是说是为了和那个Y连接有一个对应。现在我们没有加这个音呢。查出来的是这个加了这个音呢。一样的,你加不加这个音呢,实际上对于我们这个查询是没有没有区别的13条。13强只是为了和Y连接有一个,为了有一个区别,我们可以在这儿加一个音的。为了和Y连接,有一个对应的关,对应的关系。老标准新标准的多表查询。然后新的内容。使用UNI和UNI把两个结果集。
10:06
合并。成一个结果集。一个查询。我要创建一个表,Create table dept杠。后面我应该是字段字段类型了。我不加那字段类型,我把它两个合起来。使用查询语句来创建表,也就相当于是复制表,复制表及其数据。
11:16
现在我们有了一个dpd dak。形from BT啊,Bak不光说把表里的字段复制过来了,表里的数据也复制过来了。嗯。现在我这是两个查询语句,它的数据是一样的。现在我们。把这个两个数据故意给他造成一些区别。
12:00
打开锁,打开锁之后可以修改的销售。这是开发部,我又加了一个50人事部。1000。走怎么了?他没有给我出现那选择框。在这改的时候,他没有出现选择框。他只复制了数据。但是并没有把那些主外键也复制过来。只是复制表及其数据,但是并没有复制主外键。但是并没有复制主。
13:04
WHY?解,那现在我们去查询这两个表里的数据不一样,注意这是一个结果集。这是一个结果集。加分号。看看能不能让我两个一块儿执行。这一个这一个。当然,这俩是分着的呀。把一个结果集合并成两个结果集。
14:06
有文爱我优你。还有一个优尼哦,使用优尼合并的时候会去除重复的数据,有没如去除重复的数据。有你哦,先看这个,注意它里面是这两个表里头。十和20是一样的,345不一样,那我们看油腻的时候。12时一样的,34时这些都是不一样的。
15:05
他把重复的去掉了,只有一份十和20啊。把重复的去掉,Unitor,我不管你重重重复。12时。12时。UN就把所有的结果都合并起来。合并两个结构结,注意两个查询语句。的结果。及必须要一致。才能合并。结果及一致。
16:05
指的是。查询字段的个数,查字段的类型。字段的顺序必须要一致。现在我去slide星,这两个表里的字段都是一样的,那我在这儿slide。第number。Name。我这个语句没问题。两个字段这个语句也没问题,但是三个字段。
17:05
不行啊。查询字段的。列不一样啊,你那是两个字段,这是三个字段,是没有办法往一块合并的,那我在这儿LC-I我给它凑成一样的。凑成一样的之后,你才能往一块合并,那你说我也三个字段三个字段呗。但是字段的类型顺序不一样也是不行的。优你。合并结果之一。多表查询。合并结果集。茶瓶。
18:00
我们去查询7566的工资,查询7566。员工的工资。From ERP ERP number等于7566。Cellar。7566的工资是272975。查询比7566员工的工资比7566员工。的工资高的人的信息,谁比7566的工资高,那我们在查询这个时候,我们应该分成两步,先查出7566的工资,然后再用这个2975作为条件。
19:15
Slide from e where s大于二。大于2975。这些人的工资比7566高,那我们先要查7566的工资,然后把这个查询的结果作为条件。但是现在我们可以把这两个语句。合并成一个。
20:06
From where?看结果先,刚才我们这样执行的结果是查出来四个。结果是一样的。那这里面有两个select语句了。这个我们称为外面的查主查询。那现在我们来分析一下这个语句,它先执行哪个词来,先执行这个,还是先执行括号里的,肯定是先执行括号里的,用括号里的查询的数据作为外面这个查询数据的条件。那。为了给主查询提供条件。
21:02
而首先执行的一个查询,为了给主查询提供条件而首先执行的一个查询,被称为子查询。子。查询是用来给主查询题供查询条件的,那在这里面,此查询首先被执行,然后主查询使用子查询的查询条件。在这里面的子查询是用来提供查询条件的。
22:05
那用子查询的时候,子查询通常出现在比较运算符的。右边。并写入小括号。包围起来。便于。便于理解主查询子查询,那在这主查子查询。子R型的分类。此查询的分类。
23:02
就是根据子查询的返回结果来。区分的看你子查询返回什么结果,现在我们这个子查询。返回的是。单行单列。那这个就叫单行。三。啊,单列子查询。如果此查询返回的结果是。Sweat。安加。Job。
24:05
单行子查询返回的结果单行多列。这就叫。单行多列。子查询。单行。如果说此查询返回的结果。多行多列,这就叫多行。多列查询就是根据你子查询返回的结果来对子查询加以分类的,单行单列、单行多列、多行多列。
25:15
单行单列子查询。要使用。单行比较运算符,那我们看一下单行比较运算符有什么。刚才我们用的等,用的是大于,那我们也可以用小大于等于小于小于等于不等于。我查询。比7566公司大的人可以,那我查询比他小的呢。
26:07
Where是什么呀?Where塞拉小于它呀,刚才我不用的塞大于它吗?那我也可以用小于啊。比2975小的,这些不都比2975小吗?我也可以用这些大于大于等于小于等于不等于等于这些。只要是单行单列子查询都可以使用单行比较操作符,那现在我们来看一下这里面。在子查询中我用到。主函数。Avg from d。
27:22
小于它,在这里面我用到了组函数。他的平均工资是2144。那我where?账号。扎。子查询中使用了主函数,但是子查询的结果依旧是单行单列。仍然可以使用单行比较操作符。
28:09
我不管你说什么,用不用到子查询,你只要说返回的结果单行单列,我就照样可以用。这些人的工资都比2144小。组查询中也也可以出现在主函数,也可以出现在子查询中,但是我们看另一种情况。我也是说出现了组函数。Y BD number。行不行?我能不能在这里头使。
29:05
因为你的子查询已经不是单行单列的了,所以就不能再这么用了。此查询。返回的结果。是。多行单列就不能使用。单行比较运算出来,根据子查询的结果来加以区分。紫茶菌也可以出现在highway里面。紫茶雄出现在。Heavy heavyry是干嘛使的的了?
30:11
嗨,干嘛来了?开位对分组后的数据进行过滤,S slide from g group group y dept,那么dept,那么然后是max塞了。按照部门编号来分组,求它的最大工资。Dept。De PT。
31:03
按照部门编号来分组,求它的最大的公司。Heavy。马赛。From young number。等于二十二十部门的最高工资是多少?我用这个来作为条件。
32:02
先看查出来这么几个。那我用having对分组以后的数据过滤比20,也就比3000大的,我最终要得到三八五零五千两个结果。Heavy在heavy中也可以使用词查询。对分组以后的数据再进行过滤。这是说刚才我们用过了,在子查询里头返回了多行单列,就不能使用单行直角运算符了。Em from ER well sal star s from ya where ya number等于8000。
33:07
拉的星。此查询没有结果。主查询也没有结果。子。查询没有结果,主查询也不会报错,就是没有查询结果而已,只查询。然后多行单列子查询,子查询返回多行。
34:03
这时候我们要不能使用单行比较运算符了,应该使用多行比较运算符in I哦。刚才说的多行。单行多列。嗯。怎么搞乱了?第一个是。当行。甘利。刚才我们的多行多列,没有在自己家多行单列。
35:14
来。M加sli job from羊皮well sal大于3000。使查询返回的结果多行单列。要是用多行比较运算。
36:02
佛,In I in I哦。那我们看一下印80。From young。赵印。一点两p1.11.pro。一点。
37:02
Salad。先看这个结果,这个子达学返回的是MGRR和这个PR。这些人的工作都是这个呀。在这个子查询里头啊。In。使用运算法。哦。
38:00
算数。O运算符是O所有啊,那O和I米不会单独是分别是大于O。大大于好。小于哦。大。大于它的所有,小于它的所有吧,From。一一点三了。大于二。这里面是个子查询,Slide from where e number等于30。
39:00
看这个子查询。这个子查询返回的结果就是。多行单列。大于它的所有大于O啥意思啊。大于他的所有。这大于它的所有,是不是应该大于它的最大值啊,看看我们查询的结果。大姚。大于子查询的最大值。那有小于二。
40:02
大于。小于二。小于它的所有,注意小于它的所有,那最小它小于它所有,应该小于它的最小值950。800。小于子查询的最小值。哦,是所有的意思,那安呢?I有一些的意思。一部分的意思,也有说任意的意思,但是我们在这是说当成一些的意思,哎,你那是。大于an any总觉得不对了,Any大于an,小于里。
41:03
大于它里面的一些啥意思呢。大于。大于它里面的一些。大于它里面的一些。注意它的边界值950,我们让他找一个好找一点的。就记住两个边界值大于它里面的一些边界值1300。都比1300要大。有话大点声说。
42:01
它的边界值是1300啊,大于它里面的一些,注意看这些查询的结果。比1300都大吧。哪儿说比5000小了?哪用到条件比五线小了?用这个子查询作为条件啊。子查询的边界值13005000,它就用大于它里面的一些大于。子查询的最小值。大于子查询的最小值,这个此查询的最小值刚才我们看到是幺四。1300。1300,那这些结果都是大于1300的呀。大,一次查询的最小值小于M。
43:08
小圆20。小小于爱你。注意这里面,记住边界是八百三千。小于I小于它里面的一些。都比3000小,刚才我们记住它的边界值是八百三千吗?小于艾米。小于子查询的最大值。把那个大于O,小于O区分清楚了,这就很好区分了大于它里面的一些小于它里面的一些小于,哪一些小于的时候,小于子查询的。
44:10
小于此查询的。这这是那什么最小。这是艾米大于埃米大于子查询的最小值小于此查询的最大值大于埃米小于埃米,这是多行单列子查询。然后多行多列。此查询返回的结果是多行多列。那在用多行多列的时候,有两种方式。成对的一角,非成对的一角。
45:04
可以使用印比较运算。Slide from young t well照。这不就把这紫他就扔给你了吗?你这个子查询返回的是。多行多列Y它的m grr job in这里的。我们再加一个条件。And。
46:05
Number。不等于。7566。And氧number不等于。7369。查阳品number。1NAME查他的MGRR查他的job。先看上面这一句啥意思?先查询7566和7369的职位和经理。那用这个词查询呢。查询和7566和7369同经理同职位的人的员工的信息。
47:05
谁和7566和736有同经理同职位?但是又不包括这两个人啊。你别包括那俩人啊。查询和。7566。7369同经理同职务的员工的信息。成对的比较,把这两个列组成一对,去和这个子查询进行比较。非成对的比较,那刚才我们这个子查询。返回的是一个多行多列。
48:04
把多行多列的子查询拆分。拆分成两个。把这一个语句拆成。这个我单查他的职位,单查他的经理,这个单查他的职位。丹查他的工作。拆成两个。多行单列的。嗯,查询。
49:00
分别使用in运算符。YMGR。你这个语句不是查询的MGR吗?And job,你这个子查询不单门查询的job吗?把这两个查询,一个查询拆成两个查询,分别使用in去比较。当然又不包括这两个人。
50:00
查出来的是7698778。76987782,结果是一样的,成对的比较,非成对的比较。子查询,成对的比较,非成对的比较。现在我们去查询。From ya p。Well。玩啥呢,玩?
51:02
Sweat marks salad avg sad sound salad。这样由坏DPT。按照部门编号来分组,求他的最高工资、平均工资,最高最低平均工资总和,Where。E p p number。Is not,那。注意这个东西。
52:02
像啥?我现在选中的这东西像啥?这是我们说的表吧,表里头有一行一行的数据吧,这有列有EP number。有字段啊。这不就是一个表吗?那你看现在这个东西,我选中这个东西呢。像不像一个表?它有字段有数据吧。那在这儿哈,MAS塞了。
53:03
卖塞了。AVG3了。Some啥意思啊?什么?给查询结构起别名吧?这像不像一个表?我从这注意,我从这个表里头去查呀。
54:03
那这个表里头有什么字段?我正好我给他起个别名,这个叫。部门编号。注意这个表里头有啥字段。有部门编号ma seller my seller at sell some sell吧,那我要查部门编号是20的呢。Where depd number等于20吧?Dp number吗?你那个表里头有dpd number吗?你个字段叫部门编号。那我不用点星了,它里头有什么字段。
55:05
有部门编号有max塞。Avg塞了。出现在from后面的子爬群,这也是一个子爬群。此查询是出现在。From后面。出现在刚才我们用都是出现在where,出现在里面用来提供过滤条件的,那出现在from后面的子查询。干嘛吃的?From后面不是通常情况下是一个表吗?那我也可以是一个查询啊,实际上这个查询。
56:05
就是一个表,只不过是一个虚拟的表。那from后面可以是一个实表,也可以是一个虚表。此查询出现在from后面,用来提供数据源的。紫茶群。被虚拟成一个角。From可以出现在不同的地方。From。子查询。
我来说两句