iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >【MySQL】细谈SQL高级查询
  • 835
分享到

【MySQL】细谈SQL高级查询

mysqlsql数据库 2023-12-23 19:12:15 835人浏览 八月长安
摘要

文章目录 一、前言 & 准备工作二、简易高级查询⚙ 准备工作1、查询每一门课程及其先修课程2、查询和“刘涛”在一个班级的学生的信息3、查询选修了‘计算机基础’课的学生的学号、姓名③ 连接方式④ 子查询嵌套方式 4、查询没有

在这里插入图片描述

在这里插入图片描述

一、前言 & 准备工作

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

二、简易高级查询

⚙ 准备工作

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

  • 我们来新建一个教学管理jxgl数据库
create database jxgl;
  • 然后为了简易起见,就不创建教师表了,主要涉及以下的三个表,SQL语句供读者使用:
-- Table: CourseCREATE TABLE Course (cno char(7) NOT NULL, cname char(40) NULL,cpno char(7) NULL,ccredit smallint NULL,    PRIMARY KEY ( cno ));-- Table: StudentCREATE TABLE Student (sno char(7) NOT NULL,sname char(8) NOT NULL,class char(20) NULL,ssex char(2) NULL,bday datetime NULL,bplace char(10) NULL,mgrade smallint NULL,photo char(50) NULL,sfzh char(18) NULL,zxf smallint NULL,    PRIMARY KEY ( sno )) ;-- Table: SCCREATE TABLE SC (term smallint NOT NULL,sno char(7) NOT NULL ,cno char(7) NOT NULL ,grade smallint NULL,point decimal(2, 1) NULL,    PRIMARY KEY (term,sno,cno),    FOREIGN KEY (sno) REFERENCES Student (sno),    FOREIGN KEY (cno) REFERENCES Course (cno) ON UPDATE CASCADE); 

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

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

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

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

在这里插入图片描述

select A.cno, A.cname, B.cno from course A, course B where A.cpno = B.cno;
  • 我们来看看执行结果,发现成功了!

在这里插入图片描述

2、查询和“刘涛”在一个班级的学生的信息

查询和“刘涛”在一个班级的学生的信息

面对这么一个查询,你首先会想到什么呢?

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

  • 这个SQL语句相信大家如果学习过基本的SQL查询一定都会使用
select class from student where sname = '刘涛'
  • 那在知晓了班级后,就可以根据这个班级去找到其他学生的信息了,这里我们使用到的是SQL中的嵌套查询
select * from student where class in (    select class from students where sname = '刘涛');

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

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

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

在这里插入图片描述

3、查询选修了‘计算机基础’课的学生的学号、姓名

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

③ 连接方式

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

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

select student.sno, sname from student, sc, course     where student.sno = sc.sno and sc.cno = course.cno and cname = '计算机基础';

我们来看看执行结果:

在这里插入图片描述

④ 子查询嵌套方式

然后我们再来看一种:子查询嵌套方式。这种方法就需要考察大家的逻辑嵌套思维

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

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

在这里插入图片描述

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

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

① 子查询in方式

  • 那首先的话我们拿子查询in的方式来展开,先去这个【sc表】里以去重的形式寻找选修了课程的学生学号
select distinct sno from sc
  • 那题目要求我们查询的是 没有选修课程的学生的信息,所以此刻我们要使用not in比较合适一些
select * from student where sno not in(select distinct sno from sc);

可以发现我们查询到了很多的记录

在这里插入图片描述

② 子查询exists方式

  • 再介绍一种方式,也就是我们所学习过的exists这个谓词,每次取到外层循环中这个学生的学号sno,判断其是否在【sc】表中出现过,使用not exists就是去找没有出现过的那个学生学号
select * from student where not exists(select * from sc where sno = student.sno);

来看下运行结果就可以看出它们的效果是等同的

在这里插入图片描述

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

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

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

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

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

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

在这里插入图片描述

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

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

① 自连接

  • 从题目本身我们可以看出,这里有两个限制条件,一个是选修“计算机基础”、另一个则是“C语言基础”,那在这里的话我们就可以去定义出两张有关【sc表】的临时表,然后通过自连接的方式将他们相连即可
select sc1.sno from sc sc1, sc sc2    where sc1.sno = sc2.sno         and sc1.cno = (select cno from course where cname = '计算机基础')        and sc2.cno = (select cno from course where cname = 'C语言基础');

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

在这里插入图片描述

② 求交集

  • 第二种方法的话则是通过求交集的方式来找到最后的结果。意思是说,我们可以用关系逻辑代数中的intersect来拼接下面两个SQL
select sno from sc,course where sc.cno = course.cno and cname = '计算机基础'
select sno from sc,course where sc.cno = course.cno and cname = 'C语言基础'

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

③ 子查询

  • 最后我们再来看一种查询方式 means 【子查询】,具体SQL如下
select sno from sc,course where     sc.cno = course.cno and cname = '计算机基础' and sno in (        select sno from sc, course where sc.cno = course.cno and cname = 'C语言基础'    );

在这里插入图片描述

三、复杂高级查询

看完了简易的高级查询后,我们再来看看一些复杂的高级查询🎈

⚙ 准备工作

  • 同样,在做复杂高级查询之前我们也需要去做一些简易的查询工作,先创建一个专门存放我们进行高级查询的数据库
create database ad_select;
  • 接下去我们要创建几张数据表来承载相应的数据,分别是 学生信息表student、课程信息表course、学生选课信息表sc
-- 学生信息表create table student(    sno int primary key,    sname varchar(15));-- 课程信息表create table course(    cno int primary key,    cname varchar(15));-- 学生选课信息表create table sc(    sno int,    cno int,    grade int,    foreign key (sno) references student (sno),    foreign key (cno) references course (cno));
  • 接下去呢我们再往数据表中插入一些数据来进行观察
-- 插入数据insert into student values (1, '张三');insert into student values (2, '李四');insert into student values (3, '王五');insert into student values (4, '马六');insert into course values (1, '数据库');insert into course values (2, '离散数学');insert into course values (3, '操作系统');insert into sc values (1, 1, 78);insert into sc values (1, 2, 87);insert into sc values (2, 1, 66);insert into sc values (3, 2, 80);insert into sc values (3, 3, 56);insert into sc values (4, 3, 86);insert into sc values (4, 1, 90);insert into sc values (1, 3, 77);insert into sc values (4, 2, 81);insert into sc values (2, 2, 83);
  • 然后来看看数据是否被插入进去了

在这里插入图片描述

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

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

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

  • 有些同学一开始可能想到了这样的写法,去【course表】中找到那些课程的课程号,若是【sc表】中有这些课程号的话就输出这个课程号所对应的学生号
select sno from sc where cno in (    select cno from course);

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

在这里插入图片描述
💬 那有同学问:这该怎么办呢?

  • 其实这并不难,本题的着手点就在于这个【全部课程】,那我们就需要先获取到全部的课程有多少
select  count(*) from c  -- 得到全部课程数3
  • 那当我们知晓了全部的课程数后,就可以根据每个学生的学号去做分组统计,看看每个学生到底选修了那些课程
select sno, count(*) from sc group by sno 
  • 那很简单,将上面两个SQL做个合并即可,当我们根据学号统计完后,再使用 having子句去做一个筛选即可
select sno, count(*) from sc group by sno having count(*) = (select count(*) from c);
  • 执行一下结果我们可以看到,有两个学生选修了全部课程,所以他们的课程代码就被打印出来了

在这里插入图片描述

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

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

  • 本题还是一样我们要先去找到突破口,即这个【全部学生】,我们去S表中进行统计即可,然后可以得到总的学生人数为 4
select count(*) from student;
  • 然后我们再按课号去进行统计,观察当前这课程有多少人进行了选修
select cno,count(*) from sc group by cno
  • 最后还是一样,将上面二者进行一个拼接
select cno, count(*) from sc group by cno having count(*) = (select count(*) from student);

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

在这里插入图片描述

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

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

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

  • 可能很多同学一上来就会想到这样的写法:
select sno from sc where cno in (    select cno from sc where sno = '2');
  • 然后我们去看一下执行结果发现属实是有些混乱了,有些只找到一门2号同学所学过的课程就停下来了

在这里插入图片描述
💡 此时的我灵机一动,想到了找exists这个谓词来帮忙,请读者先观看下面的这个SQL语句

not exists (    select * from sc as y where sno = '2' and not exists (        select * from sc where sno = h and cno = y.cno    ))
  • 仔细观察可以发现,我在这里使用到了两个not exists,这指的就是我在小标题中所讲到的双重否定,这句SQL的语义是:不存在这样的课程,学号为2号的学生选了,而学号为h的学生却没有选

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

Way1:exists表双重否定

  • 以下就是我们本题的SQL正解
select distinct sno from sc as x where not exists(    select * from sc as y where sno = '2' and not exists (        select * from sc where sno = x.sno and cno = y.cno    ));

马上我们就来一一解析一下🔍

  1. 首先是最外层的这个临时表x的建立,代表的是 我们要去定位的那个同学的学号
select distinct sno from sc as x
  1. 接下去第二层这个临时表y的建立,代表的是 我们要去定位的那个2号同学
select * from sc as y where sno = '2'
  1. 相信阅读本文的读者多多少少有些编程基础,那我们就可以来做这样一个比喻:把外层的两个查询看做是 两个嵌套的for循环,而下面的这个查询则可以看作是 if条件判断
    • 对于sno = x.sno这个条件对应的是第一个查询,依次拿到当前学生的学号进行判断
    • 对于cno = y.cno这个条件对应的是第二个查询,获取到学号为2号学生的课号进行判断
select * from sc where sno = x.sno and cno = y.cno

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

在这里插入图片描述

Way2:优先筛选group统计

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

  • 对于此种方法,我的思路是分别去【sc表】中做两次的查找,临时表x代表的是要搜寻的那些学生,而临时表y代表的则是学号为2号的学生,where子句后面跟的就是课程号相等的情况。

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

在这里插入图片描述
具体的SQL语句如下

select * from sc as x ,(select * from sc where sno = '2') as y  where x.cno = y.cno
  • 那有了上面的这个思想之后,我们再去想出当前这个问题的解决方案就简单很多了,以下是具体的SQL语句
select  x.sno from sc as x ,(select * from sc where sno = '2') as y  where x.cno = y.cno  group by  x.sno having count(*) = (select count(*) from sc where sno = '2');

💬 我们来分析一下吧:

  • 可以看到,我在上面上面这个语句的基础上加了一个group by子句,代表将查询出来的记录即哪个学生选了哪门课按照每一位学生的学号来进行统计
group by x.sno
  • 最后还有一个having子句代表的则是在统计完成之后再去做一个筛选的工作,筛选出所选课程的数量和2号同学所选课程数一致的学生,最后输出的便是这些学生的学号
having count(*) = (select count(*) from sc where sno = '2');

最后来看一下执行结果:

在这里插入图片描述

Way3:最牛的简易除法🐂

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

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

select * from s where not exists (    select cno from sc where sno = '2' except        select cno from sc where sno = s.sno);

💬 好,我们马上来分析一下:

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

在这里插入图片描述

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

四、SQL数据展示(自取)

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

五、总结与提炼

最后来总结一下本文所学习的内容📖

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

在这里插入图片描述

来源地址:https://blog.csdn.net/Fire_Cloud_1/article/details/134434368

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL】细谈SQL高级查询

本文链接: https://www.lsjlt.com/news/551738.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【MySQL】细谈SQL高级查询
    文章目录 一、前言 & 准备工作二、简易高级查询⚙ 准备工作1、查询每一门课程及其先修课程2、查询和“刘涛”在一个班级的学生的信息3、查询选修了‘计算机基础’课的学生的学号、姓名③ 连接方式④ 子查询嵌套方式 4、查询没有...
    99+
    2023-12-23
    mysql sql 数据库
  • MySQL高级查询示例详细介绍
    目录1.左关联2.右关联3.子查询4.联合查询5.分组查询1.左关联 mysql中的左关联(Left Join)是一种基于共同列的连接操作, 它将左侧表中的所有行与右侧表中匹配的行结合在一起, 如果右侧表中没有匹配的行,...
    99+
    2023-02-16
    MySQL高级查询语句 MySQL高级查询知识点
  • SQLServer的T-SQL高级查询详解
    目录基本常用查询嵌套子查询from (select … table)示例示例in, not in子句查询示例exists和not exists子句查询示例so...
    99+
    2024-04-02
  • MySQL高级查询语法分析
    目录一、排序二、分页查询三、聚合函数四、分组查询五、连接查询1. 内连接查询2. 左连接查询3. 右连接查询4. 自连接查询六、子查询一、排序 排序查询语法: select...
    99+
    2024-04-02
  • 【第3天】MYSQL快速入门-高级查询(SQL 小虚竹)
    回城传送–》《100天精通MYSQL从入门到就业》 文章目录 零、前言 一、练习题目 二、SQL思路 计算函数:SQL16 查找GPA最高值 初始化数据 解法 ...
    99+
    2023-08-28
    sql 数据库 java
  • SQL Server 的T-SQL高级查询指的是什么
    小编今天带大家了解SQL Server 的T-SQL高级查询指的是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学...
    99+
    2023-06-26
  • 浅谈Mysql多表连接查询的执行细节
    先构建本篇博客的案列演示表: create table a(a1 int primary key, a2 int ,index(a2)); --双字段都有索引 create...
    99+
    2024-04-02
  • MySQL高级查询语法是什么
    这篇文章将为大家详细讲解有关MySQL高级查询语法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、排序排序查询语法:select * from 表名&nbs...
    99+
    2023-06-29
  • MySQL高级查询函数是什么
    这篇文章主要介绍MySQL高级查询函数是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL高级查询函数:1、字符串函数;2、数字函数,【CEIL(x)】返回不小于X 的最小...
    99+
    2024-04-02
  • MySQL排查慢查询SQL
    根据MySQL自带慢日志功能定位慢SQL 1、查询有关query的相关变量: show global variables like '%quer%';  参数解释: log_queries_not_using_indexes:是否记...
    99+
    2023-09-05
    mysql sql 数据库
  • 【MYSQL高级】Mysql找出执行慢的SQL【慢查询日志使用与分析】
    文章目录 分析慢SQL的步骤慢查询日志(定位慢sql)基本介绍慢查询日志是什么?特别说明 查看慢查询日志是否开以及如何开启设置慢SQL的时间阈值查看阈值设置阈值 查询慢查询日志文件...
    99+
    2023-09-18
    mysql sql adb
  • MYSQL高级文本查询之regexp_like和REGEXP详解
    目录LIKE操作符CONCAT函数RLIKE操作符在MySQL中,regexp_like和REGEXP都是用于执行正则表达式搜索的函数。虽然它们都可以完成相似的任务,但它们之间还是有...
    99+
    2023-05-19
    mysql regexp_like和REGEXP mysql 文本查询regexp_like和REGEXP
  • MySQL Select 查询语句详解及高级用法
    MySQL是一个开源的关系型数据库管理系统,支持多种操作语言,其中最基础、最常用的命令之一就是SELECT语句。在本篇文章中,这里将详细介绍MySQL SELECT语句的各个方面,从最基本的查询语句,到更高级的技巧和功能。 一、基本...
    99+
    2023-10-01
    mysql 数据库 sql
  • Oracle 笔记之高级查询
    为列起别名目的 我们进行查询时 经常查询某一列时使用的是表达式 SELECT enamme,sal*12 FROM emp这样不好的地方是第二列在查询后列用使用的就是sal*12.这样的可读性比较差...
    99+
    2024-04-02
  • Mybatis-Plus高级查询LambdaQueryWrapper&QueryWrapper
    目录 前言 Wrapper 查询构造器 查询条件 前期准备 查询条件 allEq eq ne gt ge lt le between,notBetween like,notLike likeLeft likeRight isNull 空值...
    99+
    2023-08-31
    mysql 数据库 mybatis
  • 很好用的mysql父子集查询SQL(根据父级查询所有子集)
    在表中一定要有id和pid,这样才能使用该sql。 需求1: 根据pid查询出其下的所有子集(比如,子集的子集的子集…)全部查询出来。 首先,在表中按照父节点(parent_id)和id字段(id)的...
    99+
    2023-09-01
    sql mysql 数据库
  • SQL编程中高级查询及注意事项有哪些
    SQL编程中高级查询及注意事项有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.什么是子查询当一个查询是另一个查询的条件时,称之为子查询...
    99+
    2024-04-02
  • MySQL定位并优化慢查询sql的详细实例
    目录1.如何定位并优化慢查询sql   a.根据慢日志定位慢查询sqlb.使用explain等工具分析sqlc.修改sql或者尽量让sql走索引2.联合索引的最左匹配原则的成因简单说...
    99+
    2024-04-02
  • 怎么提高sql查询效率
    怎么提高sql查询效率 ?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1.对查询进行优化,应尽量避免全表扫描,首先应考虑在...
    99+
    2024-04-02
  • ynamicLINQ创建高级查询服务
    目录前言:一、创建高级查询服务二、使用DynamicLINQ创建高级查询服务​1.定义查询参数​​2.实现查询方法​​3.实现扩展方法​​4.效果​前言: 在业务开发中,一个常用的功...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作