介绍
这篇文章给大家分享的是有关MySQL如何实现一对多查询的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
这次要实现的是一对多查询,使用MySQL的group_concat函数实现。
<强> group_concat 强>
简单来说,这个函数的作用就是连接多个字段,函数的具体详解可以看这篇文章。
<强>数据表强>
首先我们先建立两个表
“学生”(创建表 “id”int(11)不是零AUTO_INCREMENT, “名字”char(10)不是NULL, 主键(“id”) )引擎=MyISAM AUTO_INCREMENT=3默认字符集=utf8; -- ---------------------------- ——记录的学生 -- ---------------------------- 插入“学生”值(& # 39;1 & # 39;& # 39;汤姆# 39;); 插入“学生”值(& # 39;2 & # 39;& # 39;杰瑞# 39;); 创建表“课程”( “id”int(11)不是零AUTO_INCREMENT, s_id int(11)非空, c_name char(10)非空, 主键(“id”) )引擎=MyISAM AUTO_INCREMENT=6默认字符集=utf8; -- ---------------------------- 当然,记录 -- ---------------------------- 插入“课程”值(& # 39;1 & # 39;& # 39;1 & # 39;,& # 39;语文& # 39;); 插入“课程”值(& # 39;2 & # 39;& # 39;1 & # 39;,& # 39;数学& # 39;); 插入“课程”值(& # 39;3 & # 39;& # 39;2 & # 39;,& # 39;英语& # 39;); 插入“课程”值(& # 39;4 & # 39;& # 39;2 & # 39;,& # 39;体育& # 39;); 插入“课程”值(& # 39;5 & # 39;& # 39;2 & # 39;,& # 39;美术& # 39;);
实例
如果我们用平时使用的SQL查询
选择“名称”,c。c_name从学生年代离开加入课程c alt=" MySQL如何实现一对多查询">下面用<代码> group_concat 代码>函数查询
选择年代。“名字”,(选择group_concat (course.c_name)课程,课程。从学生年代s_id=s.id);MySQL如何实现一对多查询