PTA - 数据库合集6(10题)

news/2024/7/7 21:37:42

目录

10-1 查询选修‘C语言’课程的学生

10-2 查询平均分高于80分的学生

10-3 查询平均成绩最高的前3名同学

10-4 批量插入学生记录

10-5 修改女生成绩

10-7 spj-查询供应工程 j1 的供应商

10-8 spj-查询至少使用s1供应商所供应的全部零件的工程

10-9 查询年龄18-20之间的学生信息(MSSQL)

10-10 查询姓‘李’的学生记录(MSSQL)

10-11 查询部分专业的学生(MSSQL)


10-1 查询选修‘C语言’课程的学生

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
检索出所有选修'C语言'课程的学生成绩记录,输出结果集按照成绩降序排序。

分别尝试用以下几种方式实现。
1)采用连接查询
2)采用嵌套查询
3)采用EXIST查询

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`)
);
CREATE TABLE `cou` (
  `cno` char(4) NOT NULL,
  `cname` varchar(30) NOT NULL,
  `credit` smallint(6) DEFAULT NULL,
  `ptime` char(5) DEFAULT NULL,
  `teacher` char(10) DEFAULT NULL,
  PRIMARY KEY (`cno`)
) ;
CREATE TABLE `sc` (
  `sno` char(4) NOT NULL,
  `cno` char(4) NOT NULL,
  `grade` decimal(6,1) DEFAULT NULL,
  PRIMARY KEY (`sno`,`cno`),
  CONSTRAINT `fk_sc_cno` FOREIGN KEY (`cno`) REFERENCES `cou` (`CNO`),
  CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

cou表:

sc表:

输出样例:

请在这里给出输出样例。例如:

SELECT 
    stu.sname as 姓名,sc.grade as 成绩 
FROM 
    sc
JOIN 
    cou 
ON 
    cou.cno=sc.cno 
JOIN 
    stu 
ON
    stu.sno=sc.sno
AND 
    cou.cname='C语言'
ORDER BY 
    成绩 DESC

 

10-2 查询平均分高于80分的学生

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
查询选修课程成绩的平均分高于80分的学生姓名。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`)
);
CREATE TABLE `sc` (
  `sno` char(4) NOT NULL,
  `cno` char(4) NOT NULL,
  `grade` decimal(6,1) DEFAULT NULL,
  PRIMARY KEY (`sno`,`cno`),
  CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

sc表:

输出样例:

请在这里给出输出样例。例如:

SELECT 
    stu.sname
FROM 
    sc ,stu
WHERE 
    sc.sno=stu.sno
GROUP BY
    sc.sno
HAVING 
    sum(sc.grade) / COUNT(sc.sno) >80

 

 

10-3 查询平均成绩最高的前3名同学

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
查询平均成绩最高的前3名同学的学号,姓名,性别及年龄。

提示:可使用"limit n"语句实现 "top n" 。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`)
);
CREATE TABLE `sc` (
  `sno` char(4) NOT NULL,
  `cno` char(4) NOT NULL,
  `grade` decimal(6,1) DEFAULT NULL,
  PRIMARY KEY (`sno`,`cno`),
  CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
);

表样例

请在这里给出上述表结构对应的表样例。例如

``stu```表:

sc表:

输出样例:

请在这里给出输出样例。例如:

 

SELECT 
    stu.sno 学号,stu.sname 姓名,stu.sex 性别,year(now())-year(stu.birdate)-2 年龄,avg(sc.grade) 平均成绩
FROM 
    stu
JOIN
    sc 
ON
    stu.sno=sc.sno
GROUP BY 
    sc.sno
ORDER BY
    avg(sc.grade) DESC
LIMIT
    3

 

10-4 批量插入学生记录

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写Insert语句,
stu表中的软件工程专业(专业号mno为'02')的学生记录批量插入到一个学生简表softstu表中。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,  --专业号
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`),
);

CREATE TABLE `softstu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

输出样例:

softstu表如下:

INSERT INTO 
    softstu(sno,sname)
SELECT
    sno,sname
FROM
    stu 
WHERE
    mno='02';

10-5 修改女生成绩

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写UPDATE语句,
把所有低于75分的女生成绩提高5%;

表结构:

请在这里写定义表结构的SQL语句。例如:


CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`)
);
CREATE TABLE `sc` (
  `sno` char(4) NOT NULL,
  `cno` char(4) NOT NULL,
  `grade` decimal(6,1) DEFAULT NULL,
  PRIMARY KEY (`sno`,`cno`),
  CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
)

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

sc表:

输出样例:

例如:
修改女生成绩后的sc表如下:

UPDATE 
    sc
SET 
    grade = grade * 1.05
WHERE 
    grade < 75 AND sno IN(
    SELECT 
        sno 
    FROM 
        stu
    WHERE
        sex='0'
) 

 

 

10-7 spj-查询供应工程 j1 的供应商

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,在SPJ数据库中,查询供应工程号为j1的供应商号 sno

提示:请使用SELECT语句作答。

表结构:

请在这里写定义表结构的SQL语句。例如:


CREATE TABLE  j  ( 
   jno  char(3) NOT NULL,  -- 工程项目号
   jname  varchar(10) DEFAULT NULL,
   city  varchar(10) DEFAULT NULL,
  PRIMARY KEY ( jno )
) ;
CREATE TABLE  p  (
   pno  char(3) NOT NULL,  -- 零件号
   pname  varchar(10) DEFAULT NULL,
   color  char(2) DEFAULT NULL,
   weight  smallint DEFAULT NULL,
  PRIMARY KEY ( pno )
) ;
CREATE TABLE  s  (
   sno  char(3) NOT NULL,  -- 供应商号
   sname  varchar(10) DEFAULT NULL,
   status  char(2) DEFAULT NULL,
   city  varchar(10) DEFAULT NULL,
  PRIMARY KEY ( sno )
) ;
CREATE TABLE  spj  (
   sno  char(3) NOT NULL,
   pno  char(3) NOT NULL,
   jno  char(3) NOT NULL,
   qty  smallint DEFAULT NULL,
  PRIMARY KEY ( sno , pno , jno ),
  CONSTRAINT  fk_jno  FOREIGN KEY ( jno ) REFERENCES  j  ( jno ),
  CONSTRAINT  fk_pno  FOREIGN KEY ( pno ) REFERENCES  p  ( pno ),
  CONSTRAINT  fk_sno  FOREIGN KEY ( sno ) REFERENCES  s  ( sno )
);


表样例

请在这里给出上述表结构对应的表样例。例如

s表:

p表:

j表:

spj表:

输出样例:

请在这里给出输出样例。例如:

SELECT DISTINCT 
    spj.sno 
FROM 
    spj 
JOIN 
    j 
ON 
    spj.jno=j.jno
JOIN 
    p 
ON
    spj.pno=p.pno
JOIN 
    s 
ON 
    s.sno=spj.sno
WHERE
    j.jno='j1'
ORDER BY 
    sno ASC

 

 

10-8 spj-查询至少使用s1供应商所供应的全部零件的工程

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,在SPJ数据库中,查询至少用了s1供应商所供应的全部零件的工程号jno

提示:请使用SELECT语句作答。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `j` (  --  工程项目表
  `jno` char(3) NOT NULL,-- 工程项目号
  `jname` varchar(10) DEFAULT NULL,
  `city` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`jno`)
);
CREATE TABLE `p` (  -- 零件表
  `pno` char(3) NOT NULL,  -- 零件号
  `pname` varchar(10) DEFAULT NULL,
  `color` char(2) DEFAULT NULL,
  `weight` smallint(6) DEFAULT NULL,
  PRIMARY KEY (`pno`)
);
CREATE TABLE `s` (  -- 供应商表
  `sno` char(3) NOT NULL,  -- 供应商号
  `sname` varchar(10) DEFAULT NULL,
  `status` char(2) DEFAULT NULL,
  `city` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`sno`)
);
CREATE TABLE `spj` (  -- 零件供应表
  `sno` char(3) NOT NULL,
  `pno` char(3) NOT NULL,
  `jno` char(3) NOT NULL,
  `qty` smallint(6) DEFAULT NULL,
  PRIMARY KEY (`sno`,`pno`,`jno`),
  CONSTRAINT `fk_jno` FOREIGN KEY (`jno`) REFERENCES `j` (`jno`),
  CONSTRAINT `fk_pno` FOREIGN KEY (`pno`) REFERENCES `p` (`pno`),
  CONSTRAINT `fk_sno` FOREIGN KEY (`sno`) REFERENCES `s` (`sno`)
);


表样例

请在这里给出上述表结构对应的表样例。例如

s表:

p表:

j表:

spj表:

输出样例:

请在这里给出输出样例。例如:

SELECT jno
FROM spj
WHERE sno='s1' AND pno IN (
    SELECT pno
    FROM spj
    WHERE sno='s1'
    GROUP BY pno
)
GROUP BY jno
HAVING COUNT(jno)=
(SELECT COUNT(a.pno) sum_pno
    FROM (SELECT pno
            FROM spj
            WHERE sno='s1'
            GROUP BY pno
          )a
)

 

10-9 查询年龄18-20之间的学生信息(MSSQL)

分数 5

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
检索出 stu表中年龄在18-20之间的学生记录。

注意: 计算年龄时以年计算,不考虑出生月份。假定当前日期为‘2020-03-01'。

提示:MSSQLServer 评测SQL语句。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE stu(
  sno char(4) NOT NULL,
  sname char(8) NOT NULL,
  sex smallint DEFAULT NULL,
  mno char(2) DEFAULT NULL,
  birdate datetime DEFAULT NULL,
  memo text,
  PRIMARY KEY (sno)
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

输出样例:

请在这里给出输出样例。例如:

SELECT
    sno 学号,sname 姓名,sex 性别,mno 专业,year('2020-03-01')-year(birdate) AS 年龄,memo 备注
FROM
    stu
WHERE
    year('2020-03-01')-year(birdate) 
BETWEEN 
    18 
AND 
    22 

 

10-10 查询姓‘李’的学生记录(MSSQL)

分数 5

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
检索出stu表中所有姓‘李’的学生记录。

提示:MSSQLServer 评测SQL语句。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE stu(
  sno char(4) NOT NULL,
  sname nvarchar(8) NOT NULL,
  sex smallint DEFAULT NULL,
  mno char(2) DEFAULT NULL,
  birdate datetime DEFAULT NULL,
  memo ntext,
  PRIMARY KEY (sno)
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

输出样例:

请在这里给出输出样例。例如:

 

 

SELECT
    sno 学号,sname 姓名,sex 性别,mno 专业,birdate 出生日期,memo 备注
FROM
    stu
WHERE
    sname LIKE N'李%'

 

10-11 查询部分专业的学生(MSSQL)

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
检索出 stu表中‘计算机工程’或‘软件工程’专业的学生的记录,结果集按学号升序排序。

提示:MSSQLServer 评测SQL语句。

表结构:

定义表结构的SQL语句。如:

CREATE TABLE major (
  mno char(2) NOT NULL,
  mname varchar(20) NOT NULL,
  PRIMARY KEY (mno)
);

CREATE TABLE stu (
  sno char(4) NOT NULL,
  sname char(8) NOT NULL,
  sex smallint DEFAULT NULL,
  mno char(2) DEFAULT NULL,
  birdate datetime DEFAULT NULL,
  memo text,
  PRIMARY KEY (sno),
  CONSTRAINT  fk_stu_mno FOREIGN KEY (mno) REFERENCES major (mno)
);

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

major表:

输出样例:

请在这里给出输出样例。例如:

 

SELECT
    sno 学号,sname 姓名,sex 性别,mname 专业
FROM
    stu JOIN major ON stu.mno = major.mno
WHERE
    major.mno = '01' 
OR 
    major.mno = '02'
ORDER BY
    sno

 


http://lihuaxi.xjx100.cn/news/55058.html

相关文章

Linux--权限管理

学习目标1. Linux权限管理1.1 用户分类2. 用户类型和访问权限2.1 理解什么是权限3 文件类型和权限操作3.1 修改权限3.2 关于root3.3 更改文件拥有者3.4 修改组权限3.5 目录权限3.5.1 粘滞位3.6 关于目录权限的总结3.7 默认权限3.7.1 自定义默认权限1. Linux权限管理 1.1 用户分…

Kubernetes(k8s)基础之三:K8s常用命令

目录 kubectl的基本命令 k8s常用操作命令 k8s常用命令操作示例 资源管理 命令式对象管理 kubectl命令 资源类型 查看k8s对象状态 k8s对象配置 k8s容器编排配置文件模板 1. deployment 相关使用 创建deployment 更新deployment 回退deployment 暂停和恢复deploym…

基于PHP+小程序(MINA框架)+Mysql数据库的积分商城小程序系统设计与实现

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序商城系统&#xff0c;前台用户使用小程序&#xff0c;小程序使用微信开发者工具开发&#xff1b;后台管理使用基PPMySql的B/S架构&#xff0c;开发工具使用phpstorm&#xff1b;通过后台添加商…

Teleport 内置组件 (传送门)

<Teleport> 接收一个 to prop 来指定传送的目标。to 的值可以是一个 CSS 选择器字符串&#xff0c;也可以是一个 DOM 元素对象。这段代码的作用就是告诉 Vue“把以下模板片段传送到 body 标签下”。 <button click"open true">Open Modal</button&g…

Chapter9.2:线性系统的状态空间分析与综合

本系列属于胡寿松《自动控制原理》(第七版)教材的课后习题精选,需要完整版课后习题答案的同学,请自行查找,本系列基本包含了自动控制原理的知识点,搭配胡寿松《自动控制原理》(第七版)知识点提炼使用,可用于期末考试甚至考研复习。 《自动控制原理》(第七版)知识点提炼 Ex…

Java 多线程概念

线程和进程区别 进程是程序执行的过程&#xff0c;线程是轻量级进程&#xff0c;程序执行的分支 进程是资源分配单位&#xff0c;线程是资源调度单位;线程是进程划分成的更小的运行单位&#xff1b;进程相互独立&#xff0c;同一进程中的线程可能会相互影响&#xff1b;线程执…

5.4 堆溢出利用(上)——DWORD SHOOT

目录 一、预备知识 二、实验环境 三、实验代码 四、实验步骤 一、预备知识 堆管理系统的三类操作&#xff1a;堆块分配、堆块释放和堆快合并归根结底都是对链表的修改。堆溢出利用的精髓就是用精心构造的数据溢出下一个堆块的块首&#xff0c;改写块首中的前向指针&#xf…

Leetcode-不同路径I和II(计数型动态规划)

目录 62.不同路径 第一步&#xff1a;确定状态 最后一步 子问题 第二步&#xff1a;确定初始状态和边界 第三步&#xff1a;计算顺序 代码实现 63.不同路径II 特殊情况分析 代码实现 62.不同路径 62.不同路径 本题使用动态规划来解决&#xff0c;符合计数型动态规划…