大家好,文章要为大家带来有关的是SQL的高级查询,在上一篇学习了一些基础语法之后,我们应该更进一步地去学习一些复杂性的SQL查询语句,提升自己写SQL的能力💪
我们来新建一个教学管理在做高级查询之前,我们先做一些准备工作
jxgl
数据库创建 database jxgl;
然后为了简单入门,不会创建教师表格了,主要涉及下面的三个表,SQL语句供读者使用: -- Table: Course创建 表 课程(cno char span>(7) NOT NULL, cname char(40) NULL,cpno char( 7) NULL,信用smallint NULL, 主 KEY ( cno ));-- 表:学生创建 表学生(sno char(7) NOT NULL,sname char(8) NOT NULL,类 char(20) NULL,ssex char (2) NULL,bday 日期时间 NULL< span class="44e4-6776-96c3-cf2f token punctuation">,bplace char(10) NULL,mgrade <跨度等级ss="token 关键字">smallint NULL,照片 char(50) NULL,sfzh char( 18) NULL,zxf smallint NULL,< /span> 主 KEY ( sno )) ;-- 表:SC创建 表 SC ( 术语smallint NOT NULL,sno char(7 ) NOT NULL ,cno char(7< /span>) NOT NULL ,等级 smallint NULL,温泉n>点 小数(2, 1) NULL, PRIMARY KEY (术语,sno, cno), 国外 关键 (sno) 参考学生(sno),国外 KEY (cno) 参考 课程(cno) ON 更新 级联);
⇒然后我们还需要再去插入一些数据(具体见文末的整体SQL代码) )
查询每一门课程及其先修课程,查询结果中显示课程号、课程名称和先修课程名
首先我们来看看第一个简单的高级SQL查询,提到了需要我们去查询每一门课程及其先修课程,那查询每一门课程很简单,但是要去查询这门课的先修课程的话就需要一些技巧了,因为从上面所定义的表结构来看,我们只能查询到修课程的先修课程号,但是课程名却无法直接转换。所以我们要先去查询先修改课程号
,然后再对其进行转换 而先修改课程号作为一门课程,它只不过是课程表中的另外一条记录,需要两个课程表(别名分别取A、B)做一个等值连接我们可以从下面这张图来进行查看,那当我们有几个临时表的时候,查询的工作就很好完成,使用A表的cpno
B去表中进行定位,便可以找到那个课程号
选择 A.cno, A。cname, B。cno 来自课程 A,课程 B 其中 A.cpno = B.cno;
我们来看看执行结果,发现成功了! 查询和“刘涛”在一个教程中的学生信息
一个疑问,您首先会想到这个吗?
⇒如果是我的话,我首先想到:既然要查询和“刘涛”在一个教程的学生信息中,那总得知道刘涛是哪个教程的吧😎
这个SQL语句相信如果大家学习过基本的SQL查询一定都会使用select class from学生 where sname = '刘涛'
那在分享了教程之后,就可以根据这个教程去找到其他学生的信息了,这里我们使用到的是SQL中的字典查询
选择 * 来自学生哪里类在 ( 选择班级来自学生位置 sname = span> '刘涛');
或者我们可以换个思路,使用自连接的形式来做
那这里我们就需要两张表了,就和第一题差不多。我们可以将条件都写在where
子句中,使用【class】这个字段来连接两个临时表select s1。 * 来自学生 s1,学生 s2 其中 s1.class = s2.class 和 s2.sname = '刘涛';
最后我们来看一下执行结果:
查询选修改了'计算机基础' '课的学生的学号、姓名
还是老样子,我们得先来分析一下,要我们去查询选修了'计算机基础'课的学生的学号、姓名,首先我们要考虑的是:这个查询需要我们显示哪几个字段?涉及哪几张表? “计算机基础”
这门课程,所以我们需要【课程表】,又因为要知道是哪个学生选修改了,所以还需要涉及到【sc表】,最后,还需要显示选修改了这门课的学生的学号、姓名,所以还需要涉及【学生表】 我们可以根据三表的sno
、cno
来进行连通
选择学生。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 = '计算机基础')) ;
通过执行结果我们可以看出最后都是一样的
首先同样先分析一下当前查询需要涉及到的表,很明显查询的语句中写
选修课程
、学生信息
这两块,那我们就需要涉及【student】、【sc】表
select distinct sno from sc
那要求我们的是查询没有选修课程学生的信息,所以现在我们要使用not in
比较合适一些 select * 来自学生哪里 sno 不 在(选择 不同 sno 来自 sc);
< p>可以发现我们查询到了很多的记录 存在
这个谓词,每次取到外层循环中该学生的学号sno
,判断其是否在【sc】表中出现过,使用不存在
就是去找没有出现过的那个学生学号 select * 来自学生地点 不存在 存在(选择 * 来自 sc 哪里 sno =学生。sno);< /span>
查看下运行结果就可以看出它们的效果是接着的
查询每个学生超过该门课程平均成绩的学号、课号
首先一样来分析一下,此查询涉及到了哪张表?通过成绩、学号、课号
可以看出只涉及到了【sc】表中的字段 那在本查询之前呢,我们先来考虑一个简单的问题
对于这个查询只要有学习过基础的SQL语法,那相信都难不倒大家,那既然要求平均成绩,那这里就会用到一个聚合函数称为根据cno分组,求每门课的平均成绩
avg()
选择 cno, avg( span>等级) 来自 sc 组 bycno
好,接下去的话我们就按照题目的要求来,要我们求超过该门课的平均成绩的是,所以我们可以沿着用上面的思想。在【sc表】中查询相关学生信息的时候 select sno, cno 来自 sc as sc1 其中< /span> 等级 > ( 选择 平均(等级) as< /span> avg_grade 来自 sc 组 由 cno 拥有< /span> sc1.cno = cno);
来看看执行结果可以看出,确实符合每个学生的学号显示了他们超过平均成绩的课程号
查询既选修了“计算机基础”又选了“C语言基础”学生的学号
“计算机基础”
、另一封“C语言基础”
,那这里去的话我们就可以定义出两张有关【sc表】的内容的临时表,然后通过自连接的方式将它们连接起来即可 select sc1。sno 来自 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,当然其中 sc。cno = 课程。cno 和 cname = 'C基础语言'
不过在MySQL中可没有intersect
这个关键字,读者如果想继续研究的话可以用inner join
来实现~
选择 sno 来自 sc,课程其中 sc.cno = span> 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, '王五' span>);插入 进入学生值 (4, '马六');插入 插入课程值 (1, '数据库');插入 进入课程值 (2, '离散数学');插入 到课程 < span class="6776-96c3-cf2f-229a token 关键字">值 (3, '网络'); 插入 插入 sc 值 (1, 1< /span>, 78);插入 插入 sc 值 span> (1, 2, 87) ;插入 插入 sc 值 span> (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 );插入 到 span> sc 值 (2, 2, 83);
然后来看看数据是否被插入进去了
首先我们可以写出它的代数表达式:πSno , Cno(SC)÷ πCno(C)
有些同学一开始可能想到了这样的写法,去【course表】中找到那些课程的课程号,如果【sc表】中有这些课程号的话就输出这个课程号所对应的学生号那它的SQL语句应该怎么实现呢?
选择 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);
执行一下结果我们可以看到,有两个学生选修了全部课程,所以他们的课程代码就被打印出来了 首先我们可以写出它的代数表达式:πCno, Sno(SC)÷ πsno(S)
u>
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))
然后我们看看一下执行结果发现确实有些混乱了,有的只找到一门2号同学所学过的课程就停下来了选择 sno 来自 sc 其中 cno < span class="6776-96c3-cf2f-229a token 运算符">in ( 选择 cno 来自 sc 哪里 sno = '2' span>);
💡这时的我灵机一动,想到了找到exists
这个谓词来帮忙,请读者先观看下面的这个SQL语句仔细观察可以发现,我这里用到了两个不 存在 ( 选择 < span class="44e4-6776-96c3-cf2f token 运算符">* 来自 sc as y 其中 sno = '2' 和 span> 不存在 存在 ( 选择 * 来自 sc 哪里 sno = h 和 cno = y。cno ))
不存在
,这指的就是我在小标题中所讲到的双重否定,这句SQL的语义是: 不存在这样的课程,学号为2号的学生选了,而学号为h的学生却没有选可能有的读者一时半会接收不了,无力,下面我会一一地进行分层解说
方式一:存在表双重否定
下面就是我们本题的SQL正解选择 不同 sno 来自 sc as x 其中 不 存在( 选择 * 来自 sc as y 哪里 sno = '2' 并且 不 存在 ( 选择 * 来自 sc 其中 sno = x。sno 和 span> cno = y.cno ));
现在我们就来一一解析一下🔍 p>首先是最外层的这个临时表x的建立,代表的是我们要去定位那个同学的学号
接第二层这个临时表的建立,代表的是 我们要去定位的那个2号同学< span class="69b5-0605-1230-2972 token 关键字">选择 不同 sno 来自 sc as x
相信阅读文章的读者多多少少一些编程基础,那我们就可以打这样一个比喻:把外层的两个查询看做两个查询的for循环,而下面的这个查询则可以判断是if条件判断对于select < span class="c398-0107-8cc9-efc4 token 运算符">* 来自 sc as y where sno = '2'
sno = x.sno
这个对应条件是第一个查询,依次获取当前学生的学号进行判断< /strong> 对于cno = y.cno
这个条件对应的是第二个查询,获取到学号为2号学生的课号进行判断<代码 class="96c3-cf2f-229a-bf8f prism language-sql">选择 * 来自 span> sc 其中 sno = x。sno 和 cno = y.cno执行一条SQL语句我们可以看到查找了那几个至少学号为2号同学所学课程的学生号
方式2:优先筛选组统计
对于初始化方法,我的思路是分别去【sc表】中做两次的查找,临时表x代表是要寻找的那些学生,而临时表y代表的班级学号为2号的学生,看完了上面这种解法后,不知道读者明白了多少,我们再来看一种解法
其中
子句后面跟的就是课程号成立的情况。那么最后查询出来的结果就如下所示,筛选掉了那些2号同学没学过的课程:
具体的SQL语句如下那有了上面的这个思想之后,我们再去想出当前这个问题的解决方案就简单很多了,下面是具体的SQL语句select * 来自 sc as x ,< span class =“token punctuation”>(选择 * 来自 sc 哪里 sno = '2') as y 其中 x.cno = y.cno
<代码 class="39cf-c398-0107-8cc9 prism language-sql">选择 x。sno 来自 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); 💬好,我们现在来分析一下:
内部的在哪里 code>子句相信读者在认真看下来之后应该很熟悉了,这里的
s.sno
可以唤醒我们写循环时的循环变量i
,它是每一个循环循环都会发生变化的,即一直在做判断看哪个学号的学生是符合条件的这里的 except 意思是第一个查询结果中排除第二个查询结果中存在的行。那么下面两句你就可以理解为 从学号为2号的学生所选的课程中扣除当前该学生所选的课程哪里跨度> sno <跨度class="96c3-cf2f-229a-bf8f token 运算符">= s.sno
那从整体来看,上面的这个查询是包在一个选择 cno 来自 sc 其中 sno = '2' 例外 选择 cno 来自 sc 哪里 sno = s.sno
不存在
的谓词中中,还记得我们在第一个方法中所言过的【存在表双重否定】吗?这里其实也有同样的含义,所以我们要找到至少选修了学号是2号的学生选择的修的全部课程的学生,就需要让我们所查询的内容是一个空集才可以上面这样说太抽象了,我们可以画个图来理解一下,上面的select * 来自 s 哪里 不 存在 ( 选择 cno 来自 sc 哪里 sno = '2' 除了 选择 cno 来自 sc 其中 sno = s。sno );
除了
子句指的就是右侧-左边,如果我们得到的是空集的话,则代表学号为h的那个同学一定学习了学号为2号同学所学的全部课程。当返回结果之后根据不存在
双重否定表肯定,那么这个学生就是符合条件的那一个以上就是文章所要涉及的全部高级查询,你学废了吗︿( ̄︶ ̄)︿
四、SQL数据展示(自取)
--注意:需要先建立一个空的数据库,然后再执行本脚本!!!-- 本来可以加这句话 create database jxgl ,但创建库后需要刷新,否则执行下面的语句失败use jxgl;-- 表:课程CREATE TABLE 课程 (cno char(7) NOT NULL, cname char(40) NULL,cpno 字符(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) 值 ( span>'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' span>, '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) span>;INSERT INTO 课程 (cno, cname, cpno, ccredit) 值 ('0000032', '多媒体技术', '0000027', 5);插入 INTO 课程(cno, span> cname, cpno, ccredit) 值 ('0000034', '高等数学', null, 6);INSERT INTO span> 课程 (cno, cname, cpno, ccredit) 值 ('0000039', '基础会计' span>, 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 NULL,sname char(8) NOT NULL ,class char(20) NULL,< /span>ssex char(2) NULL,bday 日期时间< /温泉n> NULL,bplace char(10) NULL,mgrade smallint NULL,照片 字符(50) NULL,sfzh 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', '女' span>, '1983-6-9', '杭州', 325, null, span> '330102198306090020', 16);INSERT INTO span> 学生 (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', '女', span> '1983-3-10', '温州' span>, 298, null, '330104830310163', span> 20);插入 INTO 学生 (sno, span> sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf) < span class="6776-96c3-cf2f-229a token 关键字">值 ('0301105', '许晴', '03计算应用1 ', '女', '1983-6-24', '温州' , 367, null, '330105830624004' span>, 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', '男' span>, '1982-1-19', '宁波', 351, null, '330124198201191421', 25);插入 INTO 学生 (sno, sname, 班级, ssex, bday, bplace, mgrade, 照片, sfzh, zxf) 值 span> ('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' span>, 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) 值 span> ('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) 值 span> ('0311103', '王力宏', '03物流1', '男' , '1982-5-31', '温州', 361, null, '330203820531002' , 24);INSERT INTO 学生 (sno , sname, class, ssex , bday, bplace, mgrade, 照片, sfzh, zxf) span> 值 ('0311104', '李嘉欣', ' 03物流1', '女', '1981-5-28', '宁波' span>, 287, null, '330204198105281056'< /span>, 24);INSERT INTO 学生 ( span>sno, sname, class, ssex, bday, bplace, mgrade, 照片, sfzh, zxf) span> 值 ('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) 值 ( span>'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, span> 照片, 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', '刘德华', span> '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 span>);INSERT INTO 学生 (sno, span> 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 span>, null, '330203830120234', 25) span>;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, span> 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 NULL,sno 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) span> 参考 学生 (sno), 国外 密钥 ( span>cno) 参考 课程 (cno) 开启 更新 级联); 插入 INTO SC (term, span> 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, 等级, 点 span>) 值 (1, '0311101', span> '0000009', 58 0); span>INSERT INTO SC (term, sno, cno, 成绩, 点) 值 span> (1, '0311101', '0000011', 85, 1);INSERT INTO span> 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, 等级, span> 点) 值 (1, '0311102' span>, '0000027', 84, 1) span>;INSERT INTO SC(term, sno, cno, 等级, 分数) span> 值 (1, '0311102', '0000034' , 78, 1);INSERT span> 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 span>, 1);INSERT INTO SC (term, sno, cno, 成绩, 点) 值 (1, '0311111', '0000011' 95, 1 span>);插入 INTO SC (term, sno,< /span> cno, 成绩, 分数) 值 (1, '0311111', span> '0000027', 82 1); span>INSERT INTO SC (term, sno, cno, 等级 , 点) 值 (1, '0311111', '0000034', span> 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' span>, 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', span> 64, 0);INSERT INTO SC (term, sno,cno, 等级, 点) 值 (1 , '0311201', '0000039', 77, span> 1.5);插入 INTO SC (term, span> sno, cno, 等级, 点) 值 (1, '0311201', '0000052', span> 71, 2);INSERT INTO SC (term, sno, cno, 等级, 分数) 值 (1 , '0311202', '0000008', 78, span> 1);插入 INTO SC (term, span> sno, cno, 成绩, 点) 值 (1, '0311202' span>, '0000009', 70, 1) span>;INSERT INTO SC (term, sno, cno, 等级, 分数) 值 (1, '0311202', '0000011' , 65, 0);插入 INTO SC (term, sno, cno, 等级, 点) 值 (1, '0311202', '0000027', 80 span>, 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, span> 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, span> cno, 等级, 点) 值 (1, '0311211', '0000034', 79, 1);INSERT INTO SC (term, sno, cno, 等级, 点) 值 (1, '0311211', '0000052', 82, 1);INSERT INTO span> SC (term, sno, cno, 等级, 分数 ) 值 (2, '0301101', '0000002', 80, 1);INSERT INTO SC (term, sno, cno, 成绩, 点) 值 ( span>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, span> 等级, 点) 值 (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, span> 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, 等级, 点 span>) 值 (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) NULL,ps < 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">, 工作日, 部门, 付款, 结婚, 简历) 价值观 span> ('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', '隋菲菲', span> '助教', '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,工作日,部门,付款, span> 结婚, 简历) 价值观 ('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' span>, '李永波', '副教授', '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' span>, '罗雪娟', '助教', '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', '陈忠和', span> '副教授', '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', '孙俊', '助教', span> '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 span> 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) span>;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 span> (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, 句号) 值 ( span>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' span>, 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', span> '022', 36);INSERT INTO span> 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, span> 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 (列表,术语, span> 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 span> (41, 2, '03计算应用1' , '0000032', '007', 36);INSERT INTO TC (列表,术语,类,cno, tno, 句号) 值 (42, 2, '03计算应用1', '0000003', '001', 36) ;五、总结与提炼
文章我们所涉及的是SQL中的高级查询,从简单的查询入手,在学习了基础的SQL语法之后,我们再去看看一些略带复杂性的查询就没那么难了,其中不仅仅涉及最后来总结一下文章所学习的内容& #x1f4d6;
group by
、having
等这些子句,并且涉及in
、exists
这些谓词,有了它们我们在做一些复杂查询的时候拓展也没有那么难哩!接下去又涉及了一些复杂的高级查询,通过逻辑的转换、逐步地分析,发现只要将复杂的查询拆成一个逻辑块,然后再将它们拼凑起来,逻辑上就很清晰了,所以只有将学习过的知识给运用起来,我们才可以对SQL语句实现融资方案
【MySQL】细谈SQL高级查询原创由知识百科栏目发布,感谢您对的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【MySQL】细谈SQL高级查询原创”