MySQL如何实现一对多查询

  介绍

这篇文章给大家分享的是有关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如何实现一对多查询