首页 > 数据库 >【PTA】【数据库】【SQL命令】编程题1

【PTA】【数据库】【SQL命令】编程题1

时间:2024-11-19 23:14:07浏览次数:3  
标签:10 grade sno 编程 PTA char SQL cno select

数据库SQL命令测试题1

10-1 显示教工编号以02开头的教师信息

作者 冰冰 单位 广东东软学院

显示教工编号以02开头的教师信息

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

表结构:

CREATE TABLE teacher (  
TId CHAR(5) NOT NULL, -- 教师工号,主键  
DId CHAR(2) NULL, -- 系编号  
TName CHAR(8) NOT NULL, -- 姓名  
TSexy CHAR(2) NOT NULL, -- 性别  
TBdate DATE NOT NULL, -- 出生日期  
TField CHAR(50) NOT NULL, -- 研究领域  
TProf CHAR(10) NOT NULL, -- 职称  
TTele CHAR(16) NULL, -- 联系电话  
TQq CHAR(12) NULL, -- QQ号码  
TEmail CHAR(30) NULL, -- 邮箱  
TMsn CHAR(30) NULL, -- MSN  
PRIMARY KEY (TId)
);  

表样例

teacher表:

image.png

查询结果输出样例:

image.png

提交代码:

select * from teacher where TId like '02%';

10-2 65.显示上过李飞老师的课的学生的学号、姓名与联系电话

作者 宋光慧 单位 浙大宁波理工学院

本题目要求编写SQL语句,查询显示上过李飞老师的课的学生的学号、姓名与联系电话。

现有教务管理系统的关系描述如下:

  • 每个院系(部门)有多个班级和多名教师,每名教师各自开设有多门课程。
  • 每位教师管理多个班级(班主任),每个班级只能被一位老师管理。
  • 每名学生属于一个班级,可以选修多门课程。
  • 每门课程可被多位老师讲授,并且有些课程具有先导课程,每门课程的成绩由平时成绩、期中成绩、期末成绩组成,最终计算总评成绩。
  • 课程信息表供教师和学生查询,包含课程信息、任课教师、上课班级、上课教室、上课日期(周几)、上课时间(第几节课)、上课学期学年等信息。
  1. 学生表:student

    表结构

    student-1.png

    表数据

    student-2.png

  2. 课程表:course

    表结构

    course-1.png

    表数据

    course-2.png

  3. 选课表:sc

    表结构

    sc-1.png

    表数据

    sc-2.png

  4. 班级表:grade

    表结构

    grade-1.png

    表数据

    grade-2.png

  5. 院系(部门)表:dept

    表结构

    dept-1.png

    表数据

    dept-2.png

  6. 教师表:teacher

    表结构

    teacher-1.png

    表数据

    teacher-2.png

  7. 课程信息表:information

    表结构

    information-1.png

    表数据

    information-2.png

样例输出:

65.png

提交代码:

select SId,SName,STele from student
where Sid in (
    select Sid from sc where Cid in (
        select Cid from information where Tid in (
            select Tid from teacher where TName='李飞'
        ) 
    )
);

10-3 查询在2006年1月30日以后出生的学生的姓名、性别和出生日期

作者 马丰媛 单位 大连东软信息学院

题目描述:本题目要求编写SQL语句,查询在2006年1月30日以后出生的学生的姓名、性别和出生日期。

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

表结构:

student表结构:

create table student(
  sno char(8)  primary key,
  sname varchar(10) not null,
  gender char(2) check(gender='男' or gender='女'),
  birthdate  date,
  major varchar(20)  default '软件工程'
  );

表样例

student表:

image.png

输出样例:

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

image.png

提交代码:

select sname,gender,birthdate from student where
birthdate > '2006-01-30' ;

10-4 查询没有选课的学生学号、姓名和班级

作者 邵煜 单位 宁波财经学院

本题目要求编写SQL语句,检索出students表和sc表中没有选课的学生学号和姓名。

提示:请使用嵌套查询语句作答。

表结构:

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

CREATE TABLE students (
 sno char(7) ,
  sname char(8) NOT NULL,
  class char(10),
  ssex char(2),
  bday date ,
  bplace char(10) ,
  IDNum char(18) ,
  sdept char(16),
  phone char(11),
  PRIMARY KEY (sno)
) ;

CREATE TABLE sc (
 sno char(7) ,
 cno char(7) ,
 score decimal(4,1),
 point decimal(2,1),
 PRIMARY KEY (sno,cno)
) ;

表样例

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

students表:

snosnameclassssexbdaybplaceIDNumsdeptphone
1311104李嘉欣13英语11994-05-28山西太原330204199405281056人文学院15900002211
1311105苏有明13英语11995-04-16内蒙古包头330204199504162036人文学院15900002222
1711101赵薇17物流11999-02-11安徽合肥330203199902110925经管学院15900001177
1711102董洁17物流11999-02-17上海330203199902170017经管学院15900001188

sc表:

snocnoscorepoint
1311104000001153.00.0
1311104000002780.01.0
1311105000002784.01.0
1711101000005271.02.0

输出样例:

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

snosnameclass
1711102董洁17物流1

提交代码:

select sno,sname,class from students 
where sno in
(select sno from students 
 where not exists (
     select * from sc 
     where sc.sno = students.sno
 ));

10-5 查询考试成绩不及格的学生学号

作者 马丰媛 单位 大连东软信息学院

题目描述:本题目要求编写SQL语句,查询考试成绩不及格的学生学号。

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

表结构:

sc表结构:

create table sc(    -- 选课成绩单表
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1),     -- 学生得到的课程绩点
  memo  text(100)    --  备注
  );

表样例

sc表:

image.png

输出样例:

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

image.png

提交代码:

select sno from sc
where grade < 60;

10-6 查询计算机科学专业刘晨选修课程的课程名

作者 李翔坤 单位 大连东软信息学院

查询计算机科学专业刘晨选修课程的课程名

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

表结构:

create table if not exists Student(
  sno char(8)  primary key,
  sname varchar(10) not null,
  gender char(2) check(gender='男' or gender='女'),
  birthdate  date,
  major varchar(20)  default '软件工程'
  );
create table if not exists SC(    -- 选课成绩单表
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1),     -- 学生得到的课程绩点
  memo  text(100)    --  备注
  );
  create table if not exists Course(
  cno char(10) primary key,
  cname varchar(20) not null,
  ccredit int check(ccredit>0), -- 课程学分
  semester int check(semester>0),  -- 学期
  period int  check(period>0)     -- 总学时
  );

表样例

Student表:

2a45e8d323a58f77efa1256e949f148.png

SC表:

77d3bed64b621773469be6d4b1d0092.png

Course表:

image.png

输出样例:

1710603952879.png

提交代码:

select cname from Course
where cno in (
    select cno from SC
    where sno in (
        select sno from Student
        where sname = '刘晨' and major = '计算机科学'
    )
);

10-7 查询选修C01课且成绩高于此课程平均成绩的学生姓名

作者 李翔坤 单位 大连东软信息学院

题目描述:查询选修C01课且成绩高于此课程平均成绩的学生姓名。

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

表结构:

create table if not exists Student(
  sno char(8)  primary key,
  sname varchar(10) not null,
  gender char(2) check(gender='男' or gender='女'),
  birthdate  date,
  major varchar(20)  default '软件工程'
  );
 select * from student;
create table if not exists Course(
  cno char(10) primary key,
  cname varchar(20) not null,
  ccredit int check(ccredit>0), -- 课程学分
  semester int check(semester>0),  -- 学期
  period int  check(period>0)     -- 总学时
  );
 
select * from course;
create table if not exists Teacher(
   Tno char(15) primary key,
   Tname varchar(10) not null,
   gender char(2),
   deptname varchar(50) ,  -- 所属系部
   title varchar(20)       -- 职称
);
create table if not exists SC(    -- 选课成绩单表
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1),     -- 学生得到的课程绩点
  memo  text(100)    --  备注
  );

表样例

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

Student表:

2a45e8d323a58f77efa1256e949f148.png

Course表:

81bf4338b3b82b4db381583a1c5c7a4.png

Teacher表:

489d0c1883a2a431cb312618d00be43.png

SC表:

77d3bed64b621773469be6d4b1d0092.png

输出样例:

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

1710605331855.png

提交代码:

select sname from Student
where sno in (
    select sno from SC
    where cno = 'c01' and grade > (
        select avg(grade) from SC
        where cno = 'c01'
    )
);

10-8 查询学生选修课程的平均成绩高于75分的课程号

作者 马丰媛 单位 大连东软信息学院

题目描述:查询学生选修课程的平均成绩高于75分的课程号。

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

表结构:

SC表结构的SQL语句:

create table  SC( 
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1), 
  memo  text(100) 
  );

表样例

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

SC表:

image.png

输出样例:

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

image.png

提交代码:

select cno from SC
group by cno
having avg(grade) > 75 ;

10-9 查询教授多门课程的教师编号及教授的课程门数

作者 马丰媛 单位 大连东软信息学院

题目描述:查询教授多门课程的教师编号及教授的课程门数。

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

表结构:

SC表结构:

create table  SC( 
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1), 
  memo  text(100) 
  );

表样例

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

SC表:

image.png

输出样例:

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

image.png

提交代码:

select tno , count(distinct(cno)) as '门数'
from SC
group by tno
having count(distinct(cno)) > 1 ;

10-10 求各个课程号及相应的选课人数

作者 马丰媛 单位 大连东软信息学院

题目描述:求各个课程号及相应的选课人数。

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

表结构:

SC表结构的SQL语句:

create table  SC( 
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1), 
  memo  text(100) 
  );

表样例

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

SC表:

image.png

输出样例:

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

image.png

提交代码:

select cno , count(sno) as '人数'
from SC
group by cno ;

10-11 查询每名学生的选课门数和平均成绩

作者 马丰媛 单位 大连东软信息学院

题目描述:查询每名学生的选课门数和平均成绩。

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

表结构:

SC表结构的SQL语句:

create table  SC( 
  scid  int auto_increment  primary key,
  sno char(8)   references Student(sno),
  cno char(10)  references Course(cno),
  tno char(15)  references Teacher(tno),
  grade int check(grade>=0 and grade<=100),
  gpoint  decimal(2,1), 
  memo  text(100) 
  );

表样例

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

SC表:

image.png

输出样例:

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

image.png

提交代码:

select sno , count(*) as '数量' , avg(grade) as '平均成绩'
from SC
group by sno;

10-12 SQL除法查询4

作者 沈炜 单位 浙江理工大学

求包含订单号(order_num)20005的所有产品的订单的订单号

CREATE TABLE orderitems
(
  order_num  int          NOT NULL ,
  order_item int          NOT NULL ,
  prod_id    char(10)     NOT NULL ,
  quantity   int          NOT NULL ,
  item_price decimal(8,2) NOT NULL ,
  PRIMARY KEY (order_num, order_item)
) 

表样例

Orderitems表:

order_numorder_itemprod_idquantityitem_price
200051ANV01105.99
200052ANV0239.99
200053TNT2510
200054FB110
200061JP2000155
200071TNT210010
200081FC502.5
200091FB110
200092OL118.99
200093SLING14.49
200094ANV03114.99

输出样例:

这里是结果:

order_num
20005

提交代码:

select distinct(order_num)
from orderitems o1
where not exists(
    select *
    from orderitems o2
    where o2.order_num = 20005 and not exists(
        select *
        from orderitems o3
        where o3.order_num = o1.order_num and o3.prod_id = o2.prod_id
    )
);

100 | 10 |
| 20008 | 1 | FC | 50 | 2.5 |
| 20009 | 1 | FB | 1 | 10 |
| 20009 | 2 | OL1 | 1 | 8.99 |
| 20009 | 3 | SLING | 1 | 4.49 |
| 20009 | 4 | ANV03 | 1 | 14.99 |

输出样例:

这里是结果:

order_num
20005

提交代码:

select distinct(order_num)
from orderitems o1
where not exists(
    select *
    from orderitems o2
    where o2.order_num = 20005 and not exists(
        select *
        from orderitems o3
        where o3.order_num = o1.order_num and o3.prod_id = o2.prod_id
    )
);

本文作者:鸿·蒙

文档工具:Typora

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 鸿·蒙 !

标签:10,grade,sno,编程,PTA,char,SQL,cno,select
From: https://blog.csdn.net/weixin_73286497/article/details/143896672

相关文章

  • MySQL数据库实用教程(4)
    数据查询语言--语法格式SELECT[ALL|DISTINCT|DISTINCTROW]列名或表达式.../*SELECT子句*/[FROM源表...] /*FROM子句*/[WHERE条件] /*WHERE子句*/[......
  • 使用MySQL
    1.了解数据库和表1.1showSHOWDATABASES;SHOWDATABASES;返回可用数据库的一个列表。包含在这个列表中的可能是MySQL内部使用的数据库SHOWTABLES;为了获得一个数据库内的表的列表,使用SHOWTABLES;SHOWSTATUS,用于显示广泛的服务器状态信息;SHOWGRANTS,用来显示授予......
  • JavaFX + MySQL:动态显示数据库查询结果的JavaFX应用程序
    文章目录示例概述示例代码导入必要的包定义主类和主方法详细解释导入必要的包定义主类和主方法连接数据库并处理查询结果运行效果示例数据库表结构注意事项示例概述我们将创建一个JavaFX应用程序,该应用程序连接到MySQL数据库,查询某个表中的数据,并将结果显示在一......
  • 一文带你从入门到精通——MySQL(一)
    目录一. MySQL基础知识1.1引言1.2数据库1.2.1数据库简介1.2.2 数据库分类1.3SQL语句1.3.1SQL通用语法1.3.2SQL数据类型1.3.3SQL字段约束1.3.3.1主键约束1.3.3.2 非空约束1.3.3.3 唯一约束1.3.3.4 默认约束1.3.3 SQL分类1.3.3.1常用DDL1.3.3.2 ......
  • 一文带你从入门到精通——MySQL(二)
    建议先阅读我的上一篇博客,掌握一定的MySQL基础知识后再阅读本文,链接如下:一文带你从入门到精通——MySQL(一)-CSDN博客、目录二、MySQL单表查询2.1基础查询2.2条件查询2.3排序查询2.4聚合查询2.5分组查询2.6分页查询2.7MySQL语句的执行顺序二、MySQL单表查询......
  • 基于Java+Springboot+Jpa+Mysql实现的在线网盘文件分享系统功能设计与实现一
    一、前言介绍:免费学习:猿来入此1.1项目摘要在线网盘文件分享系统的课题背景主要源于现代社会对数字化信息存储和共享需求的日益增长。随着互联网的普及和技术的快速发展,人们越来越依赖电子设备来存储和传输各种类型的数据文件。然而,传统的本地存储方式存在诸多不便,如空间有限、......
  • 基于Java+Springboot+Jpa+Mysql实现的在线网盘文件分享系统功能设计与实现二
    一、前言介绍:免费学习:猿来入此1.1项目摘要在线网盘文件分享系统的课题背景主要源于现代社会对数字化信息存储和共享需求的日益增长。随着互联网的普及和技术的快速发展,人们越来越依赖电子设备来存储和传输各种类型的数据文件。然而,传统的本地存储方式存在诸多不便,如空间有限、......
  • 5分钟,轻松搞定MySQL数据库等保测评
    前言作为数据库运维人员,需要理性看待数据库等保测评相关工作,完全按照测评结果对数据库进行整改,或完全忽略测评结果都是不可取的,过犹不及,物极必反。比如MySQL和Oracle为了防止密码被暴力破解的连接错误密码延时功能,随着连续输错密码次数的增加,连接的延时也会逐渐增加,如果设......
  • python: generator IDAL and DAL using sql server 2019
     createIDAL#encoding:utf-8#版权所有2024©涂聚文有限公司#许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python3.11#OS:windows10#Datetime:2024/......
  • 【MySQL】约束
    【MySQL】约束文章目录【MySQL】约束前言一、概述二、约束演示三、外键约束总结前言本篇文章就MySQL约束,讲到约束的概述,约束演示以及外键约束。一、概述概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整......