首页 > 知识百科 > 正文

【MySQL】细谈SQL高级查询原创

文章目录

一、前言 & 准备工作二、简易高级查询⚙ 准备工作1、查询每一门课程及其先修课程2、查询和“刘涛”在一个教程中的学生信息3、查询选修了“计算机基础”课程的学生学号、姓名③连接方式④子查询方式4、没有查询选修课程学生的信息①子查询方式②子查询存在方式5、查询每个学生超过该门课程平均成绩的学号、课号6、查询既选了“计算机基础”又选了“C语言”基础”学生的学号①自连接②求交集③子查询三、复杂高级查询⚙准备工作1、查询选修了全部课程的学生号码2、查询被全部学生选修的课程号码3、查询至少选修了学号为2号学生选择修改全部课程的学生号码【⭐】方式1:存在双重否定方式2:优先筛选分组统计方式3:最牛的简单除法🐂四、SQL数据展示(自取)五、总结与提炼

一、前言&准备工作

大家好,文章要为大家带来有关的是SQL的高级查询,在上一篇学习了一些基础语法之后,我们应该更进一步地去学习一些复杂性的SQL查询语句,提升自己写SQL的能力💪

二、简易高级查询

⚙准备工作

在做高级查询之前,我们先做一些准备工作

我们来新建一个教学管理jxgl数据库
创建 database jxgl;
然后为了简单入门,不会创建教师表格了,主要涉及下面的三个表,SQL语句供读者使用:
-- Table: Course创建  课程(cno char(7) NOT NULL cname char(40) NULLcpno char( 7) NULL信用smallint NULL  KEY ( cno ));-- 表:学生创建 学生(sno char(7)  NOT NULLsname char(8) NOT NULL,char(20) NULLssex char (2) NULLbday 日期时间 NULL< span class="44e4-6776-96c3-cf2f token punctuation">,bplace char(10) NULLmgrade <跨度等级ss="token 关键字">smallint NULL照片  char(50) NULL,sfzh char( 18) NULLzxf smallint NULL,< /span>  KEY ( sno )) ;-- 表:SC创建  SC ( 术语smallint NOT NULLsno char(7 ) NOT NULL cno char(7< /span>) NOT NULL 等级 smallint NULL 小数(2, 1) NULL, PRIMARY KEY (术语sno cno), 国外 关键 (sno) 参考学生(sno)国外 KEY (cno) 参考 课程(cno) ON 更新 级联); 

⇒然后我们还需要再去插入一些数据(具体见文末的整体SQL代码) )

1、查询每一门课程及其先修课程

查询每一门课程及其先修课程,查询结果中显示课程号、课程名称和先修课程名
首先我们来看看第一个简单的高级SQL查询,提到了需要我们去查询每一门课程及其先修课程,那查询每一门课程很简单,但是要去查询这门课的先修课程的话就需要一些技巧了,因为从上面所定义的表结构来看,我们只能查询到修课程的先修课程号,但是课程名却无法直接转换。所以我们要先去查询先修改课程号,然后再对其进行转换 而先修改课程号作为一门课程,它只不过是课程表中的另外一条记录,需要两个课程表(别名分别取A、B)做一个等值连接

我们可以从下面这张图来进行查看,那当我们有几个临时表的时候,查询的工作就很好完成,使用A表的cpnoB去表中进行定位,便可以找到那个课程号

选择 A.cno Acname Bcno 来自课程 A课程 B 其中 A.cpno = B.cno;
我们来看看执行结果,发现成功了!

2、查询和“刘涛”在一个教程中的学生信息

查询和“刘涛”在一个教程中的学生信息

一个疑问,您首先会想到这个吗?

⇒如果是我的话,我首先想到:既然要查询和“刘涛”在一个教程的学生信息中,那总得知道刘涛是哪个教程的吧😎

这个SQL语句相信如果大家学习过基本的SQL查询一定都会使用
select class from学生 where sname = '刘涛' 
那在分享了教程之后,就可以根据这个教程去找到其他学生的信息了,这里我们使用到的是SQL中的字典查询
选择 * 来自学生哪里 ( 选择班级来自学生位置 sname = '刘涛');

或者我们可以换个思路,使用自连接的形式来做

那这里我们就需要两张表了,就和第一题差不多。我们可以将条件都写在 where 子句中,使用【class】这个字段来连接两个临时表
select s1* 来自学生 s1学生 s2 其中 s1.class = s2.class  s2.sname =  '刘涛';

最后我们来看一下执行结果:

3、查询选修改了'计算机基础'课程的学生学号、姓名

查询选修改了'计算机基础' '课的学生的学号、姓名
还是老样子,我们得先来分析一下,要我们去查询选修了'计算机基础'课的学生的学号、姓名,首先我们要考虑的是:这个查询需要我们显示哪几个字段?涉及哪几张表?

③连接方式

很明显,因为“计算机基础”这门课程,所以我们需要【课程表】,又因为要知道是哪个学生选修改了,所以还需要涉及到【sc表】,最后,还需要显示选修改了这门课的学生的学号、姓名,所以还需要涉及【学生表】

我们可以根据三表的snocno来进行连通

选择学生sno sname 来自< /span> 学生, sc, 课程地点 学生< span class="2972-cadc-39cf-c398 token punctuation">.sno = sc.sno sc.cno = course.cno  cname = '计算机基础';

我们来看看执行结果:

< h4>④ 子查询唤醒方式

然后我们再来看一种:子查询唤醒方式。这种方法就需要触发大家的逻辑唤醒思维

首先最内层的查询应该是通过“计算机基础”去获取到这门课的课程号,那么
选择 cno 来自课程位置 cname  = '计算机基础';
但是找到这个 cno之后,我们就可以根据这个字段去【sc】表里找到那些选修改了这门课的学生,然后返回他们的学生学号
 选择 sno 来自 sc 其中 cno (选择 cno 来自 course where cname = '计算机基础');
最后我们再通过这个学号去【学生表】中找到对应的那个学生,然后输出其学号与姓名
select sno,< /span>sname 来自学生哪里 sno (选择 sno 来自 sc 其中 cno (选择 cno 来自课程哪里 cname = '计算机基础')) ;

通过执行结果我们可以看出最后都是一样的

4、查询没有选修课程的学生的信息

首先同样先分析一下当前查询需要涉及到的表,很明显查询的语句中写选修课程学生信息这两块,那我们就需要涉及【student】、【sc】表

①子查询方式

那首先我们拿子查询方式来展开,先去这个【sc表】里以去重的形式查找选修了课程的学生学号
select distinct sno from sc
那要求我们的是查询没有选修课程学生的信息,所以现在我们要使用not in比较合适一些
select * 来自学生哪里 sno  (选择 不同 sno 来自 sc);
< p>可以发现我们查询到了很多的记录

②子查询存在方式

再介绍一种方式,原来我们所学习过的存在这个谓词,每次取到外层循环中该学生的学号sno,判断其是否在【sc】表中出现过,使用不存在就是去找没有出现过的那个学生学号
select *  来自学生地点 不存在 存在(选择 * 来自 sc 哪里 sno =学生sno);< /span>

查看下运行结果就可以看出它们的效果是接着的

5、查询每个学生超过该门课程平均成绩的学号、课号

查询每个学生超过该门课程平均成绩的学号、课号
首先一样来分析一下,此查询涉及到了哪张表?通过成绩、学号、课号可以看出只涉及到了【sc】表中的字段

那在本查询之前呢,我们先来考虑一个简单的问题

根据cno分组,求每门课的平均成绩

对于这个查询只要有学习过基础的SQL语法,那相信都难不倒大家,那既然要求平均成绩,那这里就会用到一个聚合函数称为avg()
选择 cno, avg(等级) 来自 sc  bycno
好,接下去的话我们就按照题目的要求来,要我们求超过该门课的平均成绩的是,所以我们可以沿着用上面的思想。在【sc表】中查询相关学生信息的时候
select sno, cno 来自 sc as sc1 其中< /span> 等级 > ( 选择 平均(等级) as< /span> avg_grade 来自 sc   cno 拥有< /span> sc1.cno = cno);

来看看执行结果可以看出,确实符合每个学生的学号显示了他们超过平均成绩的课程号

6、查询既选修了“计算机基础”又选修了“C语言基础”的学生学号

查询既选修了“计算机基础”又选了“C语言基础”学生的学号

①自连接

从题目本身我们可以看出,这里有两个限制条件,一个是选修“计算机基础”、另一封“C语言基础”,那这里去的话我们就可以定义出两张有关【sc表】的内容的临时表,然后通过自连接的方式将它们连接起来即可
select sc1sno 来自 sc sc1 sc sc2 其中 sc1.sno = sc2.sno  sc1.cno = (选择 cno 来自课程哪里 cname = '计算机基础')  sc2.cno = (选择 cno 来自课程哪里 cname = 'C语言基础');

通过运行来看,就是有那么一位天之骄子👼既选了“计算机基础”又选了“C语言基础” ”

②求交集

第一个方法的话通过求交集的方式来找到最后的结果。意思是说,我们可以用关系逻辑代数中的intersect来拼接下面两个SQL
select sno < span class="c398-0107-8cc9-efc4 token keywords">来自 sc课程哪里 sc.cno = 课程.cno 和< /span> cname = '计算机基础'
选择 sno 来自 sc当然其中 sccno = 课程cno  cname = 'C基础语言'

不过在MySQL中可没有intersect这个关键字,读者如果想继续研究的话可以用inner join来实现~

③子查询

最后我们再来看一种查询方式的意思是【子查询】,具体SQL如下< pre>选择 sno 来自 sc,课程其中 sc.cno = course.cno cname = '计算机基础' sno in ( 选择 sno 来自 sc课程其中 sc.cno = course.cno cname = 'C 语言基础' < span class="830e-69b5-0605-1230 token punctuation">);

三、复杂高级查询

看完了简单的高级查询之后,我们接下来看看一些复杂的高级查询🎈

⚙准备

同样的工作,在做复杂的高级查询之前,我们还需要进行一些简单的查询工作,首先创建一个专门存放我们进行高级查询的数据库
创建 数据库 ad_select;
接下去我们要创建几张数据表来承载相应的数据,分别是学生信息表student、课程信息表course、学生选课信息表sc
--学生信息表创建 学生( sno int 主要 密钥, sname varchar(15));-- 课程信息表创建 课程( cno int 主要 密钥,  cname varchar(15));-- 学生选课信息表创建  sc( sno int, cno int, 等级 int, 国外  (sno) 参考文献学生(sno), 国外 key (< /span>cno) 参考资料课程(cno));
接下去呢我们再往数据表中插入一些数据来进行观察
--插入数据插入 插入学生 (1, '张三');插入 学生 (2 , '李四'); 插入 插入学生 (3, '王五');插入 进入学生 (4, '马六');插入 插入课程 (1, '数据库');插入 进入课程 (2, '离散数学');插入 课程 < span class="6776-96c3-cf2f-229a token 关键字">值 (3, '网络'); 插入 插入 sc  (1, 1< /span>, 78);插入 插入 sc  (1, 2 87) ;插入 插入 sc  (2, 1 66) ;插入 插入 sc  (3, < span class="44e4-6776-96c3-cf2f token number">2, 80 );插入  sc  (3, 3, 56);插入 插入 sc < span class="96c3-cf2f-229a-bf8f token 关键字">值 (4 , 3, 86);插入 到< /span> sc  (4, 1, 90);插入 插入 sc  (1 3 77< span class="efc4-44e4-6776-96c3 token punctuation">);插入 进入 sc  (4 2 81 );插入  sc  (2 2 83);
然后来看看数据是否被插入进去了

1、查询选择了全部课程的学生号码

首先我们可以写出它的代数表达式πSno , Cno(SC)÷ πCno(C)

那它的SQL语句应该怎么实现呢?

有些同学一开始可能想到了这样的写法,去【course表】中找到那些课程的课程号,如果【sc表】中有这些课程号的话就输出这个课程号所对应的学生号
选择 sno 来自 sc 哪里cno in ( 选择 cno 来自课程);

通过执行结果去就可以发现每当条件成立的时候,就会回复这个课程号是哪个学生选中的学生号给打印出来,那这个逻辑其实就已经错误了,我们要找的是 选了全部课程的学生学号而不是只选了一门或多门课程的学生学号


💬那有同学问:这该怎么办呢?

其实这并不难,本题的着手点就在于这个【全部课程】,那我们就需要先获取到全部的课程有多少
select< /span> 计数(*) 来自 c -- 得到全部课程数3
那当我们收拾完了所有的课程数后,就可以根据每个学生的学号进行分组统计,看看每个学生到底选修了那些课程
 选择 sno 计数(*)  sc  作者 sno 
那很简单,将上面的两个SQL做个合并即可,当我们根据学号统计完之后,再使用 having子句 进行筛选即可
select sno< span class="2972-cadc-39cf-c398 token punctuation">, 计数( *) from sc  作者 sno 拥有 < span class="96c3-cf2f-229a-bf8f token function">计数(* ) = (选择 计数(*)< /span> 来自 c); 
执行一下结果我们可以看到,有两个学生选修了全部课程,所以他们的课程代码就被打印出来了

2、查询被全部学生选修的课程号码

首先我们可以写出它的代数表达式πCno, Sno(SC)÷ πsno(S)

本题还是一样我们要先去找到突破口,即这个【全部学生】,我们去S表中进行统计即可,然后就可以得到全部的学生人数为 4
select count< /span>(*) from学生;
然后我们再按号去进行统计,观察课程当前这门课程有多少人进行了选修改
select cno,计数(*) 来自 sc  作者 cno< /pre> 最后还是一样,将上面两者进行一个拼接 
select cno, 计数(*) < span class="39cf-c398-0107-8cc9 token 关键字">来自 sc  作者 cno 拥有 计数(*< span class="96c3-cf2f-229a-bf8f token punctuation">) = (选择 计数(*) 来自学生)

执行结果,就可以看到课程号为2号的选课情况

3、查询至少选修了学号是2号的学生选择修改的全部课程的学生号码【⭐】

如果你觉得上面两个只是小case的话,那就再来看看这题吧

同样,我们先写出它的关系代数表达式πCno, Sno(SC)÷ π(σsno='2' (SC))

可能很多同学一上来就会想到这样的写法:
选择 sno 来自 sc 其中 cno < span class="6776-96c3-cf2f-229a token 运算符">in ( 选择 cno 来自 sc 哪里 sno = '2');
然后我们看看一下执行结果发现确实有些混乱了,有的只找到一门2号同学所学过的课程就停下来了


💡这时的我灵机一动,想到了找到exists这个谓词来帮忙,请读者先观看下面的这个SQL语句

  存在 ( 选择 < span class="44e4-6776-96c3-cf2f token 运算符">* 来自 sc as y 其中 sno = '2'  不存在 存在 ( 选择 * 来自 sc 哪里 sno = h  cno = ycno ))
仔细观察可以发现,我这里用到了两个不存在,这指的就是我在小标题中所讲到的双重否定,这句SQL的语义是: 不存在这样的课程,学号为2号的学生选了,而学号为h的学生却没有选

可能有的读者一时半会接收不了,无力,下面我会一一地进行分层解说

方式一:存在表双重否定

下面就是我们本题的SQL正解
选择 不同 sno 来自 sc as x 其中  存在( 选择 * 来自 sc as y 哪里 sno = '2' 并且  存在 ( 选择 * 来自 sc 其中 sno = xsno  cno = y.cno ));

现在我们就来一一解析一下🔍首先是最外层的这个临时表x的建立,代表的是我们要去定位那个同学的学号

< span class="69b5-0605-1230-2972 token 关键字">选择 不同 sno 来自 sc as x
接第二层这个临时表的建立,代表的是 我们要去定位的那个2号同学
select < span class="c398-0107-8cc9-efc4 token 运算符">* 来自 sc as y where sno = '2'
相信阅读文章的读者多多少少一些编程基础,那我们就可以打这样一个比喻:把外层的两个查询看做两个查询的for循环,而下面的这个查询则可以判断是if条件判断对于sno = x.sno这个对应条件是第一个查询,依次获取当前学生的学号进行判断< /strong> 对于cno = y.cno这个条件对应的是第二个查询,获取到学号为2号学生的课号进行判断
<代码 class="96c3-cf2f-229a-bf8f prism language-sql">选择 * 来自 sc 其中 sno = xsno  cno = y.cno

执行一条SQL语句我们可以看到查找了那几个至少学号为2号同学所学课程的学生号

方式2:优先筛选组统计

看完了上面这种解法后,不知道读者明白了多少,我们再来看一种解法

对于初始化方法,我的思路是分别去【sc表】中做两次的查找,临时表x代表是要寻找的那些学生,而临时表y代表的班级学号为2号的学生,其中子句后面跟的就是课程号成立的情况。

那么最后查询出来的结果就如下所示,筛选掉了那些2号同学没学过的课程:


具体的SQL语句如下

select  * 来自 sc as x < span class =“token punctuation”>(选择 * 来自 sc 哪里 sno = '2') as y 其中 x.cno = y.cno
那有了上面的这个思想之后,我们再去想出当前这个问题的解决方案就简单很多了,下面是具体的SQL语句
<代码 class="39cf-c398-0107-8cc9 prism language-sql">选择 xsno 来自 sc as x ,(选择 * 来自 sc 其中 sno = '2') as y 其中 x.cno = y.cno  by x.sno 拥有 计数(< span class="6776-96c3-cf2f-229a token 操作符">*) =  (选择 计数(*) 来自 sc 哪里 sno = '2');

💬我们来分析一下吧:

可以看到,我在上面上面这个语句的基础上加了一个group by子句,代表将查询出来的记录即是哪个学生选了哪门课按照每位学生的学号来进行统计
 作者 x sno
最后还有一个having 子句代表的笔在统计完成后,再进行筛选的工作,筛选出所选课程的数量与2号同学所选课程数一致的学生,最后的输出就是这些学生的学号
拥有 计数(*) =  (选择 计数(* ) 来自 sc 哪里 sno = '2');

最后看了一下执行结果:

方式3:最牛的简单除法🐂< /h4>

不过上面的这一些算不了什么,下面我来介绍一个更奇妙的写法,是从一位【高级工程师】那里学来的

读者可以先看看下面这句SQL(利用exists except相结合)

 选择 * 来自 s 哪里  存在 ( 选择 cno 来自 sc 其中 sno = '2' 除了 选择 cno 来自 sc 哪里 sno = s.sno); 

💬好,我们现在来分析一下:

内部的在哪里子句相信读者在认真看下来之后应该很熟悉了,这里的s.sno可以唤醒我们写循环时的循环变量i,它是每一个循环循环都会发生变化的,即一直在做判断看哪个学号的学生是符合条件的
哪里 sno <跨度class="96c3-cf2f-229a-bf8f token 运算符">= s.sno
这里的 except 意思是第一个查询结果中排除第二个查询结果中存在的行。那么下面两句你就可以理解为 从学号为2号的学生所选的课程中扣除当前该学生所选的课程
选择 cno 来自 sc 其中 sno = '2' 例外 选择 cno 来自 sc 哪里 sno = s.sno
那从整体来看,上面的这个查询是包在一个不存在的谓词中中,还记得我们在第一个方法中所言过的【存在表双重否定】吗?这里其实也有同样的含义,所以我们要找到至少选修了学号是2号的学生选择的修的全部课程的学生,就需要让我们所查询的内容是一个空集才可以
select * 来自 s 哪里  存在 ( 选择 cno 来自 sc 哪里 sno = '2' 除了 选择 cno 来自 sc 其中 sno = ssno );
上面这样说太抽象了,我们可以画个图来理解一下,上面的除了子句指的就是右侧-左边,如果我们得到的是空集的话,则代表学号为h的那个同学一定学习了学号为2号同学所学的全部课程。当返回结果之后根据不存在双重否定表肯定,那么这个学生就是符合条件的那一个

以上就是文章所要涉及的全部高级查询,你学废了吗︿( ̄︶ ̄)︿

四、SQL数据展示(自取)

--注意:需要先建立一个空的数据库,然后再执行本脚本!!!-- 本来可以加这句话 create database jxgl ,但创建库后需要刷新,否则执行下面的语句失败use jxgl;-- 表:课程CREATE TABLE  课程 (cno char(7) NOT NULL, cname char(40) NULLcpno 字符(7) NULL,信用 smallint NULL,  KEY ( cno ) );插入 INTO课程(cno, cname, cpno, ccredit)  ('0000001', 'DB_Design', '0000006',  4);INSERT INTO 课程 (cno,  cname, cpno, ccredit)  ('0000002', 'C 语言基础' '0000027' 8 );插入 INTO课程(cno, cname , cpno, ccredit)  < span class="c398-0107-8cc9-efc4 token punctuation">('0000003', 'UNIX ', '0000013 ', 5);INSERT INTO 课程( cno cname cpno ccredit )  ('0000004', 'C#程序设计',  '0000002', 6); INSERT INTO 课程 (cno, cname, cpno, ccredit)< /span>  ('0000005', '现代物流概论', null, 4)< span class="cadc-39cf-c398-0107 token punctuation">;INSERT INTO 课程(cno, cname, cpno, ccredit)  ('0000006', '数据库原理'< span class="1230-2972-cadc-39cf token punctuation">, '0000010' 6);插入 < span class="efc4-44e4-6776-96c3 token keywords">INTO 课程 (cno, cname, cpno, ccredit)  ('0000007', 'JAVA程序设计', '0000002', 8);INSERT INTO 课程< span class="224c-830e-69b5-0605 token punctuation">(cno, cname, cpno, ccredit)  ('0000008' '电子商务', '0000027', 4);INSERT INTO 课程 (cno, cname, cpno, ccredit)  ('0000009', '实用英语', null , 6);插入 INTO  课程(cno, cname, cpno , ccredit)  ('0000010', '数据结构 '  '0000002' 4);INSERT  INTO 课程(cno cname cpno ccredit)  ('0000011'< /span>, '邓小平理论', null, 2) ;INSERT INTO 课程 (cno, cname, cpno, 信用) VALUES ('0000012', '体育', null,  4);INSERT INTO 课程 (cno,  cname, cpno, ccredit) < span class="69b5-0605-1230-2972 token 关键字">值 ('0000013', '网络' '0000002' 4 span>);插入 INTO课程(cno, cname,< /span> cpno, ccredit)  ('0000014'  '经济基础知识', null, 4);INSERT INTO 课程(cno, cname, cpno, ccredit)  ('0000027', '计算机基础', null, 4);INSERT INTO 课程 (cno, cname, cpno, ccredit)  ('0000032'  '多媒体技术', '0000027', 5);插入 INTO 课程(cno, cname, cpno, ccredit)  ('0000034', '高等数学',  null, 6);INSERT INTO 课程 (cno, cname, cpno, ccredit)   ('0000039', '基础会计', null, 2);< /span>INSERT INTO 课程(cno, cname, cpno, ccredit)  ('0000045'  '软件工程' '0000010', 4)< /span>;INSERT INTO课程(cno, cname,< /span> cpno, ccredit)  ('0000052'  '财务会计', '0000039', span> 4);-- 表:学生创建 学生 (sno char(7) NOT  NULLsname char(8) NOT NULL class char(20) NULL,< /span>ssex char(2 NULLbday 日期时间< /温泉n> NULL,bplace char(10) NULLmgrade smallint NULL照片 字符(50) NULLsfzh char(18) NULL,zxf smallint NULL, PRIMARY KEY ( sno )) ;INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0301101', '陈红' , '03计算应用1', '女'  '1982-12-2' span> '宁波', 400 null '330102198212023021' , 17);INSERT INTO Student (sno, sname, class, ssex, bday, bplace , mgrade, 照片, sfzh, zxf) VALUES ('0301102', '黄圣依',< /span> '03计算应用1', '女', '1983-6-9', '杭州', 325 null span> '330102198306090020', 16);INSERT INTO 学生 (sno, sname, 班级, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0301103', '刘涛', '03计算应用1', '女', '1982-9 -18', '绍兴', 311, null, '330102820918182', 15); INSERT INTO 学生 (sno, sname  class ssex bday, bplace, mgrade, 照片,  sfzh, zxf)  ('0301104' '平静', '03计算应用1', '女', '1983-3-10', '温州' 298 null '330104830310163' 20);插入 INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade,  照片, sfzh, zxf) < span class="6776-96c3-cf2f-229a token 关键字">值 ('0301105', '许晴', '03计算应用1 ', '女', '1983-6-24', '温州'  367 null '330105830624004', 20);INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0301106', '黎明 ' , '03计算应用1', '男'  '1983-3-15' span> '台州', 412 null '330122198303152826' , 20);INSERT INTO学生 (sno, sname, 班级, ssex, bday, bplace , mgrade, 照片, sfzh, zxf) VALUES ('0301107', '古天乐',< /span> '03计算应用1', '男', '1982-1-19', '宁波', 351 null '330124198201191421' 25);插入 INTO  学生 (sno, sname, 班级 ssex bday bplace, mgrade, 照片, sfzh, zxf)  ('0301108', '林志颖', '03计算应用1', '男', '1981 -9-23', '宁波',< /span> 326, null '330203198109230655' 28);INSERT INTO 学生 (sno sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0301109', '陈奕迅', '03计算应用1', '男',< /span> '1982-6-25', '杭州'< /span>, 361, null, '330203198206252418',< /span> 22);INSERT INTO 学生 (sno,< /span> sname, class, ssex, bday, bplace, mgrade , 照片, sfzh, zxf)  ('0301110', '徐若萱', '03计算应用1 ', '女', '1982-7-9', '宁波' 376 null '330203198207090617', 22);INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0301111', '陈冠希 ' , '03计算应用1', '男'  '1981-3-21' span> '杭州', 401 null '330203810321003 ' , 22);INSERT INTO S学生 (sno, sname, class, ssex, bday, bplace , mgrade, 照片, sfzh, zxf) VALUES ('0311101', '赵薇',< /span> '03物流1', '女', '1982-2-11', '台州', 289, null, '330203820231092 ', 16 );INSERT INTO 学生(sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311102', '董洁', '03物流1', '女', '1982- 2-17', '金华', 378, null, '330203820237001 ', 24);INSERT INTO 学生 (sno,< /span> sname, class, ssex, bday< span class="1230-2972-cadc-39cf token punctuation">, bplace, mgrade, 照片, sfzh, zxf)  ('0311103', '王力宏', '03物流1', '男' , '1982-5-31', '温州' 361 null '330203820531002' , 24);INSERT INTO 学生 (sno , sname, class, ssex, bday, bplace, mgrade 照片 sfzh zxf)  ('0311104', '李嘉欣', ' 03物流1', '女', '1981-5-28', '宁波', 287 null '330204198105281056'< /span>, 24);INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade 照片 sfzh zxf)  ('0311105', '苏有朋', '03物流1', '男', '1982-4-16',  '宁波', 372 null ' 330204198204162036', 24);INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh , zxf)  ('0311106', '夏雨', '03物流1',  '男', '1982-10-12', '绍兴',  384 null '330204198210121046' 16 );插入 INTO学生(sno, sname , class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311107', '郭富城', '03物流1', '男', ' 1982-10-17', '台州',  343, null '330204198210173022', 16); INSERT INTO 学生 (sno, sname, class, ssex,< /span> bday, bplace, mgrade, 照片< span class="6776-96c3-cf2f-229a token punctuation">, sfzh, zxf)  ('0311108', '袁咏仪', '03物流1', '女', '1981-11-16',  '杭州', 376, < span class="69b5-0605-1230-2972 token boolean">null, '330204811116101 ', 18);< span class="0107-8cc9-efc4-44e4 token 关键字">插入 INTO 学生 (sno, sname,, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311109', '张柏芝', '03物流1', '女' '1982-3-29'  '温州', 421 null '330204820329201', 18);INSERT INTO 学生 (sno, sname, class,< /span> ssex, bday, bplace, mgrade< span class="0107-8cc9-efc4-44e4 token punctuation">, 照片, sfzh, zxf)  ('0311110', '张信哲', '03物流1', '男', '1982-7-14', '宁波', 第408章 408 ="token string">'330204820714502', 24 );插入 INTO 学生 (sno, sname,  class ssex bday bplace , mgrade, 照片, sfzh, zxf)  ('0311111', '陈坤', '03物流1', '男', '1982-7-19', '宁波' 326 null  '330204820719604' 24);插入 INTO 学生 (sno, sname, class, ssex, bday,  bplace, mgrade, photo, sfzh, zxf)  ('0311201',< /span> '王祖贤', '03物流2', '女', '1982-7-25', '绍兴' 337 null, '330204820725301' 20)INSERT INTO 学生(sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311202' , '佟大为', '03物流2', '男' '1982-6-7' '金华', 322,< /span> null, '330205198206070617' 22);< /span>INSERT INTO 学生 (sno sname class, ssex, bday, bplace,< /span> mgrade, 照片, sfzh, zxf< span class="efc4-44e4-6776-96c3 token punctuation">)  ( '0311203', '谢霆锋', '03物流2', '男'< span class="cadc-39cf-c398-0107 token punctuation">, '1982-11-2' '杭州', 364 null '330205198211020964', 22);INSERT INTO 学生 < span class="cadc-39cf-c398-0107 token punctuation">(sno, sname, class, ssex, bday, bplace,< /span> mgrade, 照片, sfzh, zxf< span class="830e-69b5-0605-1230 token punctuation">)  ('0311205', '胡军', '03物流2', '男', '1981-7-16', '宁波', 316 null '330206198107163128', 22);INSERT INTO 学生 (sno, sname, class, ssex, bday,< /span> bplace, mgrade, 照片, sfzh< span class="cadc-39cf-c398-0107 token punctuation">, zxf)  ('0311206', '陈红'< /span>, '03物流2', < span class="830e-69b5-0605-1230 token string">'女', '1981-11-9', '金华' 327 null  '330206198111095710' 20);INSERT  INTO 学生(sno, sname< span class="2972-cadc-39cf-c398 token punctuation">, class ssex bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311207', '蒋勤勤', '03物流2' , '女', '1982-1-9', '杭州' 424 null  '330206198201094616' 24);INSERT INTO 学生 ( sno, sname, class, ssex, bday, bplace, mgrade , 照片, sfzh, zxf)  ('0311208', '吴彦祖', '03物流2', '男' '1982-6-1' < span class="830e-69b5-0605-1230 token string">'金华', 297, null, '330206198206013416' 28);INSERT INTO 学生 ( sno, sname, class, ssex, bday, bplace,  mgrade, 照片, sfzh, zxf )  ('0311209', '刘德华', '03物流2', '男'  '1982-10-31' '宁波', 281  '330206198210313462', 28);INSERT INTO 学生 (sno, sname, 班级, ssex, bday, bplace, mgrade, 照片, sfzh, zxf) VALUES ('0311210'  '伊能静', '03物流2',< /span> '女', '1983-1-16'< /span>, '金华', 356 ,< /span> '330206198301161425', 28);INSERT INTO 学生 (sno, sname class ssex bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311211', '李亚鹏', '03物流2', '男', '1981-11-10', '湖州' 288 null '330206811110312' 21);INSERT INTO 学生 (sno sname, class, ssex, bday bplace mgrade, 照片, sfzh, zxf)< /span>  ('0311301', '刘烨',  '03物流3', '男',< /span> '1981-12-23', '宁波'< /span>, 293, null, '330206811223462', 18);INSERT INTO 学生 ( sno sname class ssex , bday, bplace, mgrade 照片 sfzh zxf)   ('0311302', '周迅', '03物流3', '女', '1976-8-7',  '台州', 357 null ' 330206820231141 ', 18);INSERT INTO 学生  (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh,< /span> zxf)  ('0311303', '朱茵', '03物流3', '女'  '1982-2-14' span> '湖州', 381 null , '330206820234091 ', 19< span class="c398-0107-8cc9-efc4 token punctuation">);插入  INTO学生(sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh , zxf)  ('0311304', '刘嘉玲', '03物流3', '女', '1982- 7-18', '绍兴', span> 405, null '330206820718142' 25);INSERT INTO 学生 (sno, sname class ssex bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311305', '周杰', '03物流3', '男', '1982-8-5', '温州', 332, null, '330206820805031', 28); INSERT INTO 学生 (sno, sname, class, ssex,< /span> bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311306' , '李若彤', '03物流3', '女', '1982-8-9', '宁波', 311, null '330206820809031 ', 25);INSERT INTO 学生  (sno sname class ssex, bday, bplace, mgrade, 照片, sfzh, zxf )  ('0311307'< span class="efc4-44e4-6776-96c3 token punctuation">, '陆毅', '03物流3', '男', '1983-1-20' '绍兴' 367 null '330203830120234', 25);INSERT INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ( '0311308', '袁莉', '03物流3', '女', '1982-10-1', '宁波', 325, null '330203821001094' 30);插入 INTO 学生 (sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311309', < span class="c398-0107-8cc9-efc4 token string">'刘亦菲', '03物流3' '女'  '1982-5-26', '湖州' , 354, null '330203820526062'  24);INSERT INTO 学生 (sno , sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf)  ('0311310', '萧亚轩', '03物流3', '女', '1982-3-31', '温州', 405, null, '330203820331002', 20);-- 表:SC创建 TABLE SC (术语 smallint NOT  NULLsno char(7) NOT NULL ,cno char(7) NOT < span class="1230-2972-cadc-39cf token boolean">NULL ,等级 smallint NULL 小数(2, 1 ) NULL  KEY (术语sno,cno), 外国 KEY (sno) 参考 学生 (sno) 国外 密钥 (cno) 参考 课程 (cno) 开启 更新 级联); 插入 INTO SC (term, sno, cno, 成绩, )  (< /span>1, '0301101' '0000011'  88 1);INSERT INTO SC (term, sno, cno,  等级 分数)  (1,< /span> '0301102', '0000011'< span class="69b5-0605-1230-2972 token punctuation">, 75  1.5);插入 INTO SC (term, sno< span class="44e4-6776-96c3-cf2f token punctuation">, cno, 等级, )  (< span class="1230-2972-cadc-39cf token number">1, '0301102' '0000027' 79 1.5);INSERT INTO SC (term, sno, cno,< /span> 等级, 分数)  (1, span> '0311101', '0000008' 86 1 );插入 INTO SC (term, sno, cno, 等级, )  (1, '0311101', '0000009', 58 0);INSERT INTO SC (term, sno, cno, 成绩, )  span> (1, '0311101', '0000011',  85, 1);INSERT INTO SC (term, sno, cno, 等级, 分数)  (1 span>, '0311101', '0000027', 87,  1);INSERT INTO SC (term,  sno, cno, 成绩, < span class="44e4-6776-96c3-cf2f token 关键字">点)  (1, ' 0311101' '0000034' 88, 1);INSERT INTO SC < span class="96c3-cf2f-229a-bf8f token punctuation">(term, sno, cno, 等级, 分数)  (1, '0311101', '0000039 ' 85 1);INSERT< /span> INTO SC (term, sno, cno, 等级, )  (1, '0311101' '0000052' 63 0);INSERT INTO SC  (term, sno, cno,等级 )  (1, < span class="c398-0107-8cc9-efc4 token string">'0311102', '0000006', 61, 0);INSERT INTO SC (term, sno, cno, 等级, )  (1, '0311102',  '0000008' 78, 1);INSERT INTO SC (term, sno, cno, 成绩 ) VALUES< /span> (1, '0311102', '0000009' 76 1);INSERT  INTO SC (term, sno, cno, 等级, )  (1  '0311102' '0000011', 75, 1);INSERT INTO SC (term, sno, cno, 等级, )  (1, '0311102', '0000027', 84 1);INSERT INTO SC(term, sno, cno, 等级, 分数)  (1 '0311102' '0000034'  78 1);INSERT INTO SC (term, sno, cno, 年级, )  (< /span>1, '0311102' '0000052'  72 1.5);插入 INTO SC ( term, sno, cno, 成绩, )  (1, '0311111', '0000008'< /span>, 75, 1);INSERT INTO SC (term, sno, cno, 等级, )  ( 1, '0311111' '0000009' 74, 1);INSERT INTO SC (term, sno, cno, 成绩, )  (1, '0311111', '0000011' 95 1 span>);插入 INTO SC (term, sno,< /span> cno, 成绩, 分数)  (1, '0311111', '0000027', 82 1);INSERT INTO SC (term, sno, cno, 等级 , )  (1, '0311111' '0000034' 72, 1);INSERT INTO SC (term, sno, cno, 等级, 分数)< /span>  (1, '0311111', '0000039', 66,< /span> 0);INSERT INTO SC (term,< /span> sno, cno, 成绩, )  ( 1, '0311111' '0000052' 78 1.5 );INSERT INTO SC (term, sno, cno, 等级, 分数)  (1, '0311201', '0000008' 68 1);INSERT  INTO SC (term, sno< span class="6776-96c3-cf2f-229a token punctuation">, cno, 等级, )  (< span class="2972-cadc-39cf-c398 token number">1, '0311201' '0000009' 81, 1);INSERT INTO SC (< /span>term, sno, cno, 年级< span class="cadc-39cf-c398-0107 token punctuation">, )  (1, '0311201', '0000011' 78 1.5< span class="1230-2972-cadc-39cf token punctuation">);INSERT INTO SC (term, sno, cno, 等级, )  (1 '0311201' '0000027', 84, 1);INSERT INTO SC (术语, sno, cno, 等级, )  (1, '0311201' '0000034' 64, 0);INSERT INTO SC (term, sno,cno, 等级, )  (1  '0311201' '0000039', 77, span> 1.5);插入 INTO SC (term, sno, cno, 等级, )  (1, '0311201' '0000052' 71, 2);INSERT INTO SC (term, sno, cno, 等级, 分数)  (1  '0311202' '0000008', 78, span> 1);插入 INTO SC (term, sno, cno, 成绩, )  (1, '0311202', '0000009', 70 1);INSERT INTO SC (term, sno, cno,  等级 分数)  (1, '0311202' '0000011'  65 0);插入 INTO SC (term, sno, cno, 等级, )  (1, '0311202' '0000027' 80, 1);INSERT INTO SC (term, sno, cno, 成绩 ) VALUES< /span> (1, '0311202', '0000034' 79 1< /span>);插入 INTO SC (term, sno,  cno 成绩 )  (1  '0311202' '0000039', 59, 0);INSERT INTO SC (term, sno, cno, 等级,  )  (1, '0311202'  '0000052' 87, 1);INSERT INTO SC (term, sno, cno, 等级, 分数)< /span>  (1 '0311211' '0000006 ' 70 1.5);插入 INTO SC (term, sno, cno, 成绩, )  (< /span>1, '0311211' '0000008'  74 1);INSERT INTO SC (term, sno, cno,  等级 分数)  (1,< /span> '0311211', '0000009'< span class="efc4-44e4-6776-96c3 token punctuation">, 52  0);插入 INTO SC (term, sno, cno, 等级, )  (1, '0311211', '0000011', 79  1);INSERT INTO SC (term  sno cno 毕业e, )  (1, < span class="cadc-39cf-c398-0107 token string">'0311211', '0000027' 75 1);插入 INTO SC (术语 sno cno, 等级, )  (1 '0311211' '0000034', 79, 1);INSERT INTO SC (term, sno, cno, 等级,  )  (1, '0311211', '0000052',  82, 1);INSERT INTO SC (term, sno, cno, 等级, 分数 )  (2 '0301101' '0000002' 80 1);INSERT INTO SC (term, sno, cno, 成绩, )  (2, '0301101', '0000006', < span class="cadc-39cf-c398-0107 token number">91, 1.5 );INSERT INTO SC (term, sno, cno, 等级, 分数)  (2, '0301101', '0000007', 87, 1);INSERT INTO SC (term, sno, cno, 等级, )  (2, '0301101', '0000008', 55, 0) ;INSERT INTO SC (term, sno, cno, 等级 )  (2, '0301101', '0000010' 66 0);插入 INTO SC (term, sno, cno, 等级, 点< /span>)  (2, '0301101',< /span> '0000013', 90 1.5);INSERT INTO SC (term, sno, cno, 成绩 ) VALUES< /span> (2, '0301101', '0000034' , 81, 1);INSERT INTO SC (术语 sno cno, 成绩, )  (2 span>, '0301102', '0000002', 110,  1.5);INSERT INTO SC (term, sno, cno, 等级,  )  (2, '0301102'  '0000008' 83, 1) ;INSERT INTO SC (term, sno, cno, 等级, 分数 )  (2 '0301102'  '0000009', 76, < span class="0107-8cc9-efc4-44e4 token number">1); INSERT INTO SC (term, sno , cno, 年级, )   (2, '0301102'< span class="efc4-44e4-6776-96c3 token punctuation">, '0000010' 78 1)< span class="0605-1230-2972-cadc token punctuation">;INSERT INTO SC (term, sno, cno, 等级 )  (2 , '0301102', '0000013' 82 1);插入 < span class="44e4-6776-96c3-cf2f token 关键字">INTO SC (term, sno, cno, 等级, )  (2, '0301102', '0000034', 64 0);INSERT INTO SC ( term, sno, cno, 成绩, )  span> (3, '0301101', '0000001' 85 null );INSERT INTO SC (term, sno, cno, 等级, )  (3 '0311211' '0000001', 80 null);< /span>-- 表:教师创建  教师(tno char(3) NOT NULL< span class="8cc9-efc4-44e4-6776 token punctuation">,tname char(8) NULLps < span class="69b5-0605-1230-2972 token 关键字">char(10 ) NULL,wday 日期时间 NULL部门char (16) NULL支付smallint NULL结婚smallint NULL恢复varchar(200) NULL PRIMARY KEY ( tno )) ;INSERT INTO老师(tno, tname, ps工作日部门付款 , 结婚, 简历) 价值观 < span class="224c-830e-69b5-0605 token punctuation">('001', '王涛', '讲师'  '2001-9-1' span> '基础部', 2100 0 null< /span>);插入 INTO 老师 (tno, tname,  ps, wday, dept付款结婚简历)< /span>  ('002', '姚明',  '助教', '2002-2-3' , '基础部', 2100  0 null);INSERT INTO 教师 (tno, tname, ps, wday, 部门 付款 结婚 简历 )  ('003'< span class="96c3-cf2f-229a-bf8f token punctuation">, '蔡振华', '副教授', '2002-4-10', '经管系', 4800, 1 null);INSERT INTO 教师 (tno, tname, ps, wday,  部门 支付 结婚 简历)  ('004', '田亮', '助教', '2003-7-10', '计算机系', 2100, 0< span class="efc4-44e4-6776-96c3 token punctuation">, null) ;INSERT INTO 教师(tno< span class="0605-1230-2972-cadc token punctuation">, tname ps wday, 部门, 支付, 结婚, 简历)   ('005', '李小双', '讲师', '2001-9-10', '应用技术系' 2600 1< /span>, null);INSERT INTO 教师 (tno, tname, ps,  工作日 部门 支付 结婚, 简历)  ('006', '孙继海 '< /span>, '讲师', '2001-1-20', '国际交流系'< span class="2972-cadc-39cf-c398 token punctuation">, 2600, 0, null);INSERT INTO< /span> 老师(tno, tname, ps< span class="69b5-0605-1230-2972 token punctuation">, 工作日, 部门, 付款, 结婚, 简历) 价值观 ('007', '卡佩罗', '教授', '2001-5-16', '基础部', 5500 0 null span>);插入 INTO 老师 (tno, tname,< /span> ps, 工作日, 部门, 付款< span class="0605-1230-2972-cadc token punctuation">, 结婚, 简历)  ('008', '孔令辉', '助教', '2003-7-10',  '基础部', 2100< span class="0605-1230-2972-cadc token punctuation">, 0  null);插入 INTO 老师 (tno, tname, ps, wday, 部门 付款 结婚 简历 )  ('009'< span class="cadc-39cf-c398-0107 token punctuation">, '刘玉栋', '助教', '2001-10-12', '基础部', 2100 span>, 0, null); INSERT INTO 教师 (tno, tname, ps, wday,< /span> 部门 支付 结婚 简历< span class="69b5-0605-1230-2972 token punctuation">)  ( '010', '隋菲菲', '助教', '2002-7-10', '国际交流系' 2100 0 null);INSERT INTO 教师 ( tno, tname, ps, wday 部门 支付 结婚 , 简历)  ('011', '张蓉芳' , '副教授', '2001-12-13', '基础部'< span class="6776-96c3-cf2f-229a token punctuation">, 4800  1 null);INSERT INTO 教师 ( tno tname ps,工作日,部门,付款, 结婚, 简历) 价值观 ('012' '李宁', '讲师', '2003-10-19', '基础部' 2600 1, null);INSERT INTO老师(tno, tname, ps工作日部门付款 , 结婚, 简历) 价值观 < span class="224c-830e-69b5-0605 token punctuation">('013', '赵蕊蕊', '助教',< /span> '2003-7-1', '计算机系', 2100, 0, null< span class="830e-69b5-0605-1230 token punctuation">);插入  INTO 老师 (tno, tname, ps, 工作日, 部门, 付款, 结婚, 简历)  ('014', '谢军', '讲师', '2003-8-18',  '计算机系', 2600< span class="efc4-44e4-6776-96c3 token punctuation">, 1  null);插入 INTO 教师(tno, tname, ps, wday, 部门, 支付, 结婚, 简历  ('015', '刘国梁', '讲师', '2003-9-10', '基础部', 2600 0 null);INSERT INTO 教师 (tno,< /span> tname, ps, wday, 部门< span class="c398-0107-8cc9-efc4 token punctuation">, 支付, 结婚, 简历)  ('016', '李永波', '副教授', '2002-8-3', '国际交流系' 2600 1  null);INSERT INTO 教师(tno  tname ps wday, 部门, 支付, 结婚,  简历)  ('017', '郎平', '副教授', '2003-3-30', '经管系' 4800 1  null);INSERT INTO 教师(tno  tname ps wday, 部门, 支付, 结婚, 简历)  ('018', '王军霞'< /span>, '助教', '2001-5-19', '经管系' 2100 0 , null);INSERT INTO 教师 (tno, tname, ps, 工作日, 部门, 付款,< /span> 结婚, 简历) 价值观 ('019'  '马晓春', '讲师', '2003-10-20', '国际交流系'< /span>, 2600 1 null );INSERT INTO 老师 (tno, tname, ps, 工作日, 部门, 支付, 结婚, 简历)  ('020', < span class="0107-8cc9-efc4-44e4 token string">'章秋红', '讲师', '2003-9-1',< /span> '计算机系', 2600 1 null );插入 INTO 教师 (tno, tname , ps, wday, 部门,付款结婚简历)  ('021', '罗雪娟', '助教', '2000-12-21', '经管系',  2100 0 null);INSERT< /span> INTO 老师 (tno, tname, ps, wday, 部门, 支付, 结婚, 简历)  ('022', '聂卫平', '副教授', '2001-3-8', '应用技术系',  2600 0, null); INSERT INTO 教师 (tno, tname, ps, wday,< /span> 部门 支付 结婚 简历< span class="224c-830e-69b5-0605 token punctuation">)  ( '023', '陈忠和', '副教授', '2003-7-1', '计算机系' 2100 1 null);INSERT INTO 教师 ( tno, tname, ps, wday 部门 支付 结婚 , 简历)  ('024', '葛菲', '助教', < span class="c398-0107-8cc9-efc4 token string">'2003-7-1', '计算机系'  2100 1 null);INSERT INTO 教师  (tno tname ps, 工作日, 部门, 付款,< /span> 结婚, 简历) 价值观 ('025'  '孙俊', '助教', '2002-1-21', '部分基础'< /span>, 2100, 1, null);INSERT INTO老师(tno, tname, ps工作日部门付款 , 结婚, 简历) 价值观 < span class="96c3-cf2f-229a-bf8f token punctuation">('026', '邹振先', '副教授',< /span> '2003-8-20', '经管系', 4800 1 null );INSERT INTO 老师 (tno, tname, ps, 工作日, 部门, 支付, 结婚, 简历)  ('027', '袁伟民', '教授', '2000-8-25',  '校办', 5500< span class="8cc9-efc4-44e4-6776 token punctuation">, 1  null);插入 INTO 教师(tno, tname, ps, wday, 部门, 支付, 结婚, 简历)  ('028' '乔丹' '教授', '2000-10-1', '经管系', 5500  1 null);INSERT INTO 老师 (tno , tname, ps, wday,部门支付结婚简历)  ('029' , '许海峰', < span class="96c3-cf2f-229a-bf8f token string">'教授', '2003-2-20'< span class="69b5-0605-1230-2972 token punctuation">, '计算机系' 5500 1  null);-- 表:TCCREATE TABLE TC ( 列表 smallint,term smallint,class varchar( 40) NULL,cno char(7) NULL tno char(3) NULL句号 smallint NULL, PRIMARY KEY (列表) < span class="96c3-cf2f-229a-bf8f token 关键字">国外 KEY (cno) 参考 课程 (cno) ON 更新 级联 , 国外 KEY (tno) 参考资料 教师 ( tno)) ;INSERT INTO TC (列表 term, class, cno, tno句点) VALUES (1, 1, '03物流1',  '0000011' '001'  36);INSERT INTO TC (列表, term, class, cno, tno, 句号)  (2,  1, '03物流1'  '0000034' '002', 72);INSERT INTO TC (列表,术语,,  cno tno period)  (3  1 '03物流1', '0000052',  '003', 60);插入 INTO  TC (列表术语 cno tno period) VALUES (4, 1, '03物流1', '0000027'< span class="0605-1230-2972-cadc token punctuation">, '004' 108);插入 < span class="8cc9-efc4-44e4-6776 token keywords">INTO TC (list, term, class, cno, tno, 句号)   (5, 1, '03物流1', '0000039', '005',< /span> 36);INSERT INTO TC (列表,< /span> term, class, cno, tno, period) VALUES (6, 1, '03物流1',  '0000005' '006'  72);INSERT INTO TC (列表 术语 cno, tno, period)  (7,< /span> 1, '03物流1'< span class="efc4-44e4-6776-96c3 token punctuation">, '0000001' '007', 36);INSERT INTO TC (列表术语, cno, tno, period)  (8< span class="830e-69b5-0605-1230 token punctuation">, 1  '03物流2', '0000011',< /span> null, 36);INSERT INTO TC (列表,术语, class, cno, tno, period< span class="cadc-39cf-c398-0107 token punctuation">)  ( 9 1 '03物流2', '0000034' '002' 72< /span>);插入 INTO TC (列表术语 class cno tno, 句点)  ( 10, 1, '03物流2', '0000052'  '003' 60);INSERT  INTO TC (list, term, class, cno,< /span> tno, 句号)  (11 1< /span>, '03物流2', < span class="830e-69b5-0605-1230 token string">'0000027', '004', 108);INSERT INTO TC (列表术语 cno , tno, 句号)  (12, 1, '03物流2' '0000039' ' 009', 36);INSERT INTO TC (列表,术语,, cno, tno, 句号)< /span>  (13, 1, '03物流2 ' '0000005' < span class="2972-cadc-39cf-c398 token string">'010', 72);插入 INTO TC (list, term,  class, cno, tno, 句号)  (14 1 '03物流2', '0000001' '007' 36 );INSERT INTO TC (列表术语 class cno tno, 句号)  (15, 1, '03计算应用1',  '0000011' '022' 36);INSERT INTO TC (列表, term, class, cno,< /span> tno, 句号)  (16, 1< /span>, '03 计算应用1', '0000034', null, 54);INSERT INTO TC (list, term, class, cno, tno, 句号)  (17, 1, '03计算应用1' '0000045' '013'  108);INSERT INTO TC < span class="96c3-cf2f-229a-bf8f token punctuation">(列表, term, class, cno, tno, 句号)< /span>  (18, 1, '03计算应用1 ' '0000027' '014', 144);插入  INTO TC (列表术语 class, cno, tno, period)  (19 span> 1 '03计算应用1', '0000039', '015', 36);INSERT  INTO TC (列表术语< span class="0605-1230-2972-cadc token punctuation">, class cno tno, 句号)  (20, 1, '03计算应用1', ' 0000005', '016', 72); INSERT INTO TC (列表, term, class, cno,< /span> tno, 句号)  (21 1< /span>, '03 计算应用1', '0000001' '007', 36);INSERT INTO TC (list, term, class, cno, tno, 句号)  (22, 2, '03物流1', '0000007', '017', 108) ;INSERT INTO TC (列表,术语,, cno, tno, period)  (23, 2, '03物流1'< /span>, '0000012' null 54 );INSERT INTO TC (列表术语 class, cno, tno, period)  (24< /span>, 2, '03物流1', '0000005' '019' 72);插入 INTO TC (list, term, class, cno, tno,  期间)  (25, 2,< /span> '03物流1', '0000008', '020',  108);INSERT INTO TC (列表 term, class, cno, tno , 句点)  (26, 2< span class="224c-830e-69b5-0605 token punctuation">, '03物流1', '0000032', '007', 36);INSERT INTO TC (list, term, class, cno, tno, 句号)  (27, 2, '03物流1' '0000004' '021', 72);INSERT INTO TC (列表术语,< /span> cno, tno, period)  (28,  2, '03物流1', '0000003', '022', 36);INSERT INTO TC (list, term, class, cno, tno, period)  (29< span class="39cf-c398-0107-8cc9 token punctuation">, 2 '03物流2', '0000007' '017'  108);INSERT INTO TC (列表术语, class, cno, tno, period)  (30, 2, '03物流2',  '0000012' '018' 54);INSERT INTO TC (列表 term, class, cno, tno,句点)  ( 31 2, '03物流2',  '0000005', '010'  72);INSERT INTO TC (列表, term, class, cno, tno, 句号) VALUES< /span> (32, 2, '03物流2'  '0000008' '020', 108);INSERT INTO TC < span class="224c-830e-69b5-0605 token punctuation">(列表, term, class, cno, tno, 句号)< /span>  (33 2 '03物流2', '0000032', '007', 36 );INSERT INTO TC (列表术语 class, cno, tno, period)  (34, 2 , '03物流2', '0000004'< /span>, '021', 72);INSERT< /span> INTO TC (list, term class cno tno, 句点)  (35, 2, '03物流2', '0000003', '022', 36);< span class="39cf-c398-0107-8cc9 token 关键字">INSERT INTO TC (列表 term class cno tno, period)  (36, < span class="2972-cadc-39cf-c398 token number">2, '03计算应用1' '0000002' ' 023', 144);INSERT INTO TC  (列表术语 cno, tno, 句号)  (37, 2, '03计算应用1 ' '0000010' < span class="1230-2972-cadc-39cf token string">'014', 72);INSERT INTO TC (列表,术语,, cno, tno, 句号)  (38  2 '03计算应用1', '0000013' null 72);插入 INTO TC (列表术语 class, cno, tno, period) VALUES (39, 2, '03计算应用1', '0000034'  '025' 54);插入 INTO TC (list, term, class, cno, tno, 句点)   (40, 2, '03计算应用1', '0000005', '016',  72);INSERT INTO TC (列表 term class cno, tno, period) VALUES (41, 2, '03计算应用1' , '0000032', '007' 36);INSERT INTO TC (列表术语cno, tno, 句号)  (42, 2, '03计算应用1' '0000003' '001', 36) ;

五、总结与提炼

最后来总结一下文章所学习的内容& #x1f4d6;

文章我们所涉及的是SQL中的高级查询,从简单的查询入手,在学习了基础的SQL语法之后,我们再去看看一些略带复杂性的查询就没那么难了,其中不仅仅涉及group byhaving等这些子句,并且涉及inexists这些谓词,有了它们我们在做一些复杂查询的时候拓展也没有那么难哩!接下去又涉及了一些复杂的高级查询,通过逻辑的转换、逐步地分析,发现只要将复杂的查询拆成一个逻辑块,然后再将它们拼凑起来,逻辑上就很清晰了,所以只有将学习过的知识给运用起来,我们才可以对SQL语句实现融资方案

【MySQL】细谈SQL高级查询原创由知识百科栏目发布,感谢您对的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【MySQL】细谈SQL高级查询原创

Copyright © 2012-2023 普诚元亨工作室 版权所有

*本站部分网页素材及相关资源来源互联网,如有侵权请速告知,我们将会在24小时内删除*

Z-BlogPHP 1.7.3 琼ICP备2022020219号