首页 > 数据库 >MySQL日常练习——多表查询

MySQL日常练习——多表查询

时间:2024-04-01 21:00:38浏览次数:13  
标签:insert 多表 10 DEFAULT into 查询 values result MySQL

1、创建DDL——学生表——成绩表

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `createDate` datetime DEFAULT NULL,
  `userName` varchar(20) DEFAULT NULL,
  `pwd` varchar(36) DEFAULT NULL,
  `phone` varchar(11) DEFAULT NULL,
  `age` tinyint(3) unsigned DEFAULT NULL,
  `sex` char(2) DEFAULT '男',
  `introduce` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
CREATE TABLE `result` (
  `rid` int(11) NOT NULL AUTO_INCREMENT COMMENT '成绩编号',
  `testName` varchar(255) DEFAULT NULL COMMENT '测试名称',
  `score` double(4,2) DEFAULT NULL COMMENT '成绩',
  `studentId` int(11) DEFAULT NULL COMMENT '学生id',
  PRIMARY KEY (`rid`),
  KEY `studentId` (`studentId`),
  CONSTRAINT `result_ibfk_1` FOREIGN KEY (`studentId`) REFERENCES `student` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2、创建DML——输入相关数据 

insert into student values(0,'2024-02-25 10:10:10','赵灵儿','123',
'15612345678',16,'女','逍遥哥哥,你终于找到我了。');
insert into student values(0,'2024-02-25 10:10:10','王语嫣','123',
'15612345678',17,'女','慕容复,我和你不共戴天。');
insert into student values(0,'2024-02-25 10:10:10','龙姑娘','123',
'15612345678',22,'女','我想过过过儿过过的日子。');
insert into student values(0,'2024-02-25 10:10:10','杨过','123',
'15612345678',18,'男','一遇杨过误终身。');
insert into student values(0,'2024-02-25 10:10:10','杨逍','123',
'15612345678',27,'男','杨过跟程英的大儿子。');
insert into student (userName,age,introduce)values('黄衣女子',26,'杨过与龙姑娘的大女儿。');
 
insert into result values(0,'政治',96,1);
insert into result values(0,'地理',86,5);
insert into result values(0,'政治',77,3);
insert into result values(0,'英语',99,3);
insert into result values(0,'历史',22,6);
insert into result values(0,'化学',69,2);
insert into result values(0,'Java',79,5);
insert into result values(0,'Java',67,6);
insert into result values(0,'政治',97,2);
insert into result values(0,'物理',76,6);
insert into result values(0,'物理',82,2);
insert into result values(0,'化学',56,4);

3、DQL——进行多表查询

SELECT userName,testName,score 
from result,student 
where result.studentId=student.id;
#笛卡尔积M*N

 效果如果所示。

select userName,
count(score) '参与考试的数量',
avg(score) '每人平均分数' ,
sum(score) '每人的总分' 
from result,student
where result.studentId=student.id
GROUP BY userName;

 效果如图所示。其中运用了GROUP BY 语句

内容仅供参考,具体还要亲自实践。希望大家能越来越好,谢谢!!

标签:insert,多表,10,DEFAULT,into,查询,values,result,MySQL
From: https://blog.csdn.net/MoSiZh/article/details/137246134

相关文章

  • Mysql 常用SQL语句
    1、查看mysql中所有的数据库, show databases;2、创建库 createdatabase库名;(也可以用 create databaseifnotexists 库名; 表示如果库不存在再创建)例:create databaseifnotexists ecology;3、删除库 drop database 库名称4、创建一张......
  • 使用node更加方便的操作mysql数据库的小工具
    这是一个自己封装的小工具,能够更加方便的操作数据库地址:工具首页git仓库地址功能还在继续开发当中…安装npminstallmysqinfo已经引入mysql工具包,无需在项目中再次引入mysql工具包导入constdb=require('mysqinfo')获取数据库对象//db.dbconnect('m......
  • SQLite 查询优化器概述(九)
    返回:SQLite—系列文章目录   上一篇:SQLite中的隔离(八)下一篇:SQLite—系列文章目录   1. 引言本文档概述了查询规划器和优化器如何用于SQLite工作。给定一个SQL语句,可能有几十个、几百个甚至实现该语句的数千种方法,具体取决于复杂性语句本身和基础数据库架......
  • Linux 安装 Mysql(Docker)
    Linux安装Mysql以下操作在root用户下否则加上sudodockerpullmysql:5.7注意容器名字如果有-会错误dockerrun-p3306:3306--namemysql_gulishangcheng\-v/mydata/mysql/log:/var/log/mysql\-v/mydata/mysql/data:/var/lib/mysql\-v/mydata/mysql/con......
  • 3093. 最长公共后缀查询(困难)
    核心思想倒序的字典树,算是板子题吧。也就是节点的成员变量有变化。classTrie{intidx;//下标intlength;//记录以此为后缀且长度最小的长度Trie[]son;//儿子Trie(){idx=(int)(1e4+10);length=(int)(5e3+10);......
  • java计算机毕业设计(附源码)医患辅助系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着信息技术的飞速发展,医疗健康领域正经历着前所未有的变革。传统的医患交流模式受限于时间和空间,难以满足现代社会对医疗服务效率和质量的要求。医患辅......
  • java计算机毕业设计(附源码)医疗大数据系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:医疗大数据系统是近年来在医疗领域内兴起的一个重要研究方向,它利用现代信息技术手段,对海量的医疗健康数据进行采集、存储、管理和分析,以期提供更为精准、......
  • python计算机毕设【附源码】毕业生离校系统的设计与实现(django+mysql+论文)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,信息化管理已经成为了现代教育体系中不可或缺的一部分。对于高校而言,毕业生离校系统的设计与实现是提高学校管理效率、优化毕业生......
  • Mybatis——查询数据
    查询操作根据用户id查询单条记录,在映射器接口(UserMapper)中定义如下方法:packageorg.example.mapper;importorg.example.demo.User;importjava.util.List;publicinterfaceUserMapper{//根据id查询UserUserselectUserById(IntegeruserId);}当实体类......
  • java计算机毕业设计(附源码)一起捞餐厅点餐和管理系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代都市的快节奏生活中,餐饮业作为人们日常消费的重要组成部分,扮演着至关重要的角色。随着科技的不断进步和消费者需求的多样化,传统的餐饮服务方式已经......