数据库表中多对多关系怎么设计?
(多对多关系)
马克-to-win:Teacher表:两列id,name。
Studnet表: 三列:id,name,age
TeacherStudent表(关系表):三列:id,tid,sid
create table TeacherStudent(id int not null,tid int not null,sid int not null);
2) teacher and student:(一个老师可能有多个学生,一个学生可能有多个老师)
qixy有两个学生:liyaohua and fuwenlong, huanglaosh老师有一个学生--->fuwenlong
INSERT INTO TeacherStudent (id,tid,sid) VALUES(1,1,1);
INSERT INTO TeacherStudent (id,tid,sid) VALUES(2,1,2);
INSERT INTO TeacherStudent (id,tid,sid) VALUES(3,2,2);
qixy的学生显示出来。
select * from Teacher t,Student s,TeacherStudent ts where t.name='qixy' and t.id=ts.tid and s.id=ts.sid;
+----+------+----+-----------+------+----+-----+-----+
| id | name | id | name | age | id | tid | sid |
+----+------+----+-----------+------+----+-----+-----+
| 1 | qixy | 1 | liyaohua | 25 | 1 | 1 | 1 |
| 1 | qixy | 2 | fuwenlong | 26 | 2 | 1 | 2 |
+----+------+----+-----------+------+----+-----+-----+
huanglaosh的学生显示出来。
select * from Teacher t,Student s,TeacherStudent ts where t.name='huanglaosh' and t.id=ts.tid and s.id=ts.sid;
+----+------------+----+-----------+------+----+-----+-----+
| id | name | id | name | age | id | tid | sid |
+----+------------+----+-----------+------+----+-----+-----+
| 2 | huanglaosh | 2 | fuwenlong | 26 | 3 | 2 | 2 |
+----+------------+----+-----------+------+----+-----+-----+
fuwenlong的老师显示出来。
select * from Teacher t,Student s,TeacherStudent ts where s.name='fuwenlong' and t.id=ts.tid and s.id=ts.sid;
+----+------------+----+-----------+------+----+-----+-----+
| id | name | id | name | age | id | tid | sid |
+----+------------+----+-----------+------+----+-----+-----+
| 1 | qixy | 2 | fuwenlong | 26 | 2 | 1 | 2 |
| 2 | huanglaosh | 2 | fuwenlong | 26 | 3 | 2 | 2 |
+----+------------+----+-----------+------+----+-----+-----+
参考一下以下游动的同等写法:(未来springJdbc或mybatisxxxxx的某种技术中也许用的着,因为它严格限制单表游动)
select name from Student where id in (select sid from TeacherStudent where tid in (select id from Teacher where name='qixy')) ;
结果:
+-----------+
| name |
+-----------+
| liyaohua |
| fuwenlong |
+-----------+
更多请看下节:https://blog.csdn.net/qq_44591615/article/details/109205764
数据库表中多对多关系怎么设计?相关推荐
- 消除数据库表中的重复组
重复组是在整个数据库表中重复的一系列字段/属性.大型和小型组织都面临着一个普遍的问题,这个问题可能会带来多种后果.例如,在不同区域中存在的同一组信息会导致数据冗余和数据不一致.而且,所有这些重复的数据 ...
- 关系型数据库表之间的联系[关系]详解
关系型数据库表之间的联系[关系]详解 在表中,行和列的逻辑顺序无关紧要.每个表至少包含一列,该列被称为主键,它唯一地标识了表中的每一行. 键是表中扮演特殊角色的列,有两种键:主键.外键. 主键(Pri ...
- 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...
小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- 在一个电子商务网站应用中,涉及的实体信息类有很多,比如用户类User和用户地址类Address; 而每一个实体类的对象信息要存储到相应的数据库表中,如userTable和addressTable。
在一个电子商务网站应用中,涉及的实体信息类有很多,比如用户类User和用户地址类Address; 而每一个实体类的对象信息要存储到相应的数据库表中,如userTable和addressTable. ...
- Oracle数据库表中字段顺序的修改方法
Oracle数据库表中字段顺序的修改方法 这篇文章主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介 ...
- Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容
2019独角兽企业重金招聘Python工程师标准>>> 摘要 学习(Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程),尝试搭建ssh框架 ...
- oracle 表字段顺序_如何更改Oracle数据库表中字段顺序
软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...
- 测试踩坑 - 当已有接口(或数据库表中)新增字段时,都需要注意哪些测试点?
最新在测试的时候,遇到了几个典型问题,都是在原有接口(或数据库表中)进行需求迭代时,出现的问题.我稍微总结一下,作为后续测试的经验教训. 问题一.数据库表中新增字段,但开发将这几个字段设置成了非空字段 ...
最新文章
- golang 文件操作 创建 读写 复制移动 权限 删除
- YoloV5 最强剪枝技术 模型压缩,3ms推理的YoloV5mAP60
- ThreadPoolExecutor 八种拒绝策略,对的,不是4种!
- 小s结尾与大S结尾的汇编语言差异
- reactjs脚手架目录结构说明
- java语法特点是什么意思_java的语法是什么意思
- MySQL【环境搭建 02】Linux 非 root 用户部署 mysql-5.7.28 设置开机启动及问题汇总(含云盘资源)
- Python 之 Python2 和 Python3 的区别
- 椭圆形中间一个大写的v_Shift键在 Word 中的 9 个经典操作,第一个你可能就不知道!【Word教程】...
- 计算机操作员高级教学大纲,计算机操作员课程教学大纲.doc
- 简单逆向26(c++函数修饰名,md5,动态调试,算法逆向)
- java 求反正切函数 角度,弧度 。 arctanx
- 年薪翻倍的100篇面经:如何转型AI拿到阿里等大厂的40万offer
- 高德地图地理编码和逆地理编码,以及逆地理编码的时候如何去掉省、市、镇
- ICP许可证怎么申请?
- mysql procedure 存储过程
- python opencv 锐化_图像增强、锐化,利用 Python-OpenCV 来实现 4 种方法!
- 悟透delphi 第二章 DELPHI与WIN32时空
- MATLAB通信工具箱仿真16QAM系统
- 社群营销的方法和技巧ppt_2019社群运营技巧丨让微信社群活跃度迅速飙升的5个方法...