返回顶部
首页 > 资讯 > 数据库 >MySQL常用练手题目
  • 174
分享到

MySQL常用练手题目

mysql数据库 2023-09-04 13:09:02 174人浏览 八月长安
摘要

数据库表名和字段设计 学生表 Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id,c_name,t_id) 课程编号, 课程名称,

数据库表名和字段设计

学生表

Student(s_id,s_name,s_birth,s_sex)

学生编号,学生姓名, 出生年月,学生性别

2.课程表

Course(c_id,c_name,t_id)

课程编号, 课程名称, 教师编号

3.教师表

Teacher(t_id,t_name)

教师编号,教师姓名

4.成绩表

Score (s_id,c_id,s_score)

学生编号,课程编号,分数

建表语句

学生表

CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birth` VARCHAR(20) NOT NULL DEFAULT '', `s_sex` VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(`s_id`) );

课程表

CREATE TABLE `Course`( `c_id` VARCHAR(20), `c_name` VARCHAR(20) NOT NULL DEFAULT '', `t_id` VARCHAR(20) NOT NULL, PRIMARY KEY(`c_id`) ); 

教师表

CREATE TABLE `Teacher`( `t_id` VARCHAR(20), `t_name` VARCHAR(20) NOT NULL DEFAULT '', PRIMARY KEY(`t_id`) );

成绩表

CREATE TABLE `Score`( `s_id` VARCHAR(20), `c_id` VARCHAR(20), `s_score` INT(3), PRIMARY KEY(`s_id`,`c_id`) ); 

插入测试数据

学生表

insert into Student values('01' , '赵雷' , '1990-01-01' , '男'); insert into Student values('02' , '钱电' , '1990-12-21' , '男'); insert into Student values('03' , '孙风' , '1990-05-20' , '男'); insert into Student values('04' , '李云' , '1990-08-06' , '男');insert into Student values('05' , '周梅' , '1991-12-01' , '女');insert into Student values('06' , '吴兰' , '1992-03-01' , '女'); insert into Student values('07' , '郑竹' , '1989-07-01' , '女'); insert into Student values('08' , '王菊' , '1990-01-20' , '女'); 

教师表

insert into Course values('01' , '语文' , '02'); insert into Course values('02' , '数学' , '01'); insert into Course values('03' , '英语' , '03'); 

课程表

insert into Teacher values('01' , '张三');insert into Teacher values('02' , '李四'); insert into Teacher values('03' , '王五'); 

成绩表

insert into Score values('01' , '01' , 80); insert into Score values('01' , '02' , 90); insert into Score values('01' , '03' , 99); insert into Score values('02' , '01' , 70); insert into Score values('02' , '02' , 60); insert into Score values('02' , '03' , 80); insert into Score values('03' , '01' , 80); insert into Score values('03' , '02' , 80); insert into Score values('03' , '03' , 80); insert into Score values('04' , '01' , 50); insert into Score values('04' , '02' , 30); insert into Score values('04' , '03' , 20); insert into Score values('05' , '01' , 76); insert into Score values('05' , '02' , 87);insert into Score values('06' , '01' , 31);insert into Score values('06' , '03' , 34); insert into Score values('07' , '02' , 89); insert into Score values('07' , '03' , 98); 

常见题目

1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

select a.*,b.s_score as 01_score,c.s_score as 02_score from student ajoin score b on a.s_id=b.s_id and b.c_id='01'left join score c on a.s_id=c.s_id and c.c_id='02' or c.c_id = null whereb.s_score>c.s_score;

2、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bjoin score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score >= 60;

3、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩-- (包括有成绩的和无成绩的)

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bleft join score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score < 60uNIOnselect a.s_id,a.s_name,0 as avg_score from student awhere a.s_id not in (select distinct s_id from score);

4、查询学过"张三"老师授课的同学的信息

select a.* fromstudent ajoin score b on a.s_id=b.s_id where b.c_id in(select c_id from course where t_id = (select t_id from teacher where t_name = '张三'));

5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

select a.s_id,a.s_name,count(b.c_id) as sum_course,sum(b.s_score) as sum_score from student aleft join score b on a.s_id = b.s_idGROUP BY a.s_id,a.s_name;

6、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

select a.* fromstudent a,score b,score cwhere a.s_id = b.s_id and a.s_id = c.s_id and b.c_id ='01' and c.c_id='02';

7、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

select a.* fromstudent awhere a.s_id in (select s_id from score where c_id='01') and a.s_id not in (select s_id from score where c_id='02');

来源地址:https://blog.csdn.net/m0_57313444/article/details/132355492

您可能感兴趣的文档:

--结束END--

本文标题: MySQL常用练手题目

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

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

猜你喜欢
  • MySQL常用练手题目
    数据库表名和字段设计 学生表 Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id,c_name,t_id) 课程编号, 课程名称,...
    99+
    2023-09-04
    mysql 数据库
  • 接口测试项目(非常值得练手)
    大家好,我是小谭。 之前跟大家分享了一份适合练手的接口测试实战项目,算是一份接口测试的入门级项目。但这个项目有诸多局限,比如部署不便,接口有限,没有鉴权等等。 因此,趁着周末,小谭又给大家找了一个接口...
    99+
    2023-09-01
    mysql 数据库 java 接口测试 测试工具
  • python题目练习
    1、随机生成一个大文件(5G以上),查找里面内容最长的N(N>5)行,并打印出来 [root@saltstack-ui ~]# cat gen_large_file.py import os with open("a.txt", "w...
    99+
    2023-01-31
    题目 python
  • 10个Python练手项目
    标记一下Python的练手项目10个Python练手项目:python项目练习一:即时标记python项目练习二:画幅好画python项目练习三:万能的XMLpython项目练习四:新闻聚合python项目练习五:虚拟茶话会python项...
    99+
    2023-01-31
    项目 Python
  • 分享Python练手小项目
    本篇内容介绍了“分享Python练手小项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. Kaggle 实战之波士顿房价预测友情提示:初...
    99+
    2023-06-15
  • MySQL 50题练习
    表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编...
    99+
    2017-03-13
    MySQL 50题练习 数据库入门 数据库基础教程
  • mysql练习题emp,dept
    DROP DATABASE IF EXISTS `emp`; CREATE DATABASE `emp`; USE emp;  CREATE TABLE `dept`(     `deptno` INT(2) NOT NULL, ...
    99+
    2018-02-01
    mysql练习题emp dept
  • Vue2项目练手——通用后台管理项目第一节
    Vue2项目练手——通用后台管理项目 知识补充yarn和npm区别npm的缺点:yarn的优点 npm查看镜像和设置镜像 项目介绍项目的技术栈 项目搭建文件目录 创建路由,引入element-uirouter/in...
    99+
    2023-08-30
    前端 javascript vue.js
  • Python新手练级项目有哪些
    本篇内容介绍了“Python新手练级项目有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 内容聚合器(Content Aggr...
    99+
    2023-06-16
  • iOS练手项目知识点汇总
    基础理解篇 Objective-C是一种面向对象的编程语言,它支持元编程。元编程是指编写程序来生成或操纵其他程序的技术。 Objective-C中,元编程可以使用Objective-C的动态特性来实现...
    99+
    2023-09-12
    ios cocoa macos
  • PYTHON-模拟练习题目集合
     🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0&...
    99+
    2023-09-25
    python 开发语言 学习
  • 适合Python 新手的5大练手项目,你
    已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去【项目】阶段了。但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手?W3Cschool首先有两点建议:最好不要写太应用的程序练手,要思考...
    99+
    2023-01-31
    适合 新手 项目
  • Java基础题新手练习(一)
    目录找出出现一次的数字源码斐波那契数源码求阶乘和源码求 N 的阶乘源码奇数位于偶数之前源码求和的重载源码总结找出出现一次的数字 有一组数据,只有一个数字是出现一次,其他是两次,请找出...
    99+
    2024-04-02
  • Java基础题新手练习(二)
    目录数字9 出现的次数源码输出闰年源码打印素数源码判定素数源码年龄打印源码打印 X 图形源码猜数字游戏源码总结数字9 出现的次数 编写程序数一下 1到 100 的所有整数中出现多少个...
    99+
    2024-04-02
  • Java基础题新手练习(三)
    目录水仙花数源码计算分数的值源码最大公约数源码二进制1的个数源码二进制序列源码模拟登陆源码输出一个整数的每一位源码输出乘法口诀表源码总结水仙花数 求出0~999之间的所有“水仙花数”...
    99+
    2024-04-02
  • Java日常练习题有哪些
    这篇文章将为大家详细讲解有关Java日常练习题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()正确答案: C Arithmetic...
    99+
    2023-06-20
  • Java中10道日常练习题
    这篇文章给大家分享的是有关Java中10道日常练习题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、Integer a = 1;Integer b = 1;Integer c = 500;Integer d =...
    99+
    2023-06-20
  • Python基础练习题目有哪些
    这篇文章主要讲解了“Python基础练习题目有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基础练习题目有哪些”吧!1 、题目:有5个数字:1、2、3、4,5能组成...
    99+
    2023-06-02
  • Mysql多表练习题30道
    根据上一篇文章建立的表,我们来做一些多表练习: 没建立表的可以点击此链接去建立练习用的表: 目录 1.查询“1”号学生的姓名和各科成绩: 2.查询各个学科的平均成绩和最高成绩: 3.查询所有姓张的同学的各科成绩: 4.查询每个同学的最高成...
    99+
    2023-09-01
    数据库 sql oracle mysql
  • Java练手小项目实现一个项目管理系统
    目录前言:一、项目需求二、功能实现三、具体模块的实现四、总结前言: 时隔多日,我们学习完java的面向对象阶段,毕竟需要付诸实践,这个小项目就 作为我们第一个java面向对象解决的项...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作