旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL完成一对多查询的代码示例【MySQL教程】,mysql

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:48评论:0


导读:本篇文章给人人带来的内容是关于MySQL完成一对多查询的代码示例,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。这次要完成的是一对多查询,运用MySQL...
本篇文章给人人带来的内容是关于MySQL完成一对多查询的代码示例,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。

这次要完成的是一对多查询,运用 MySQL 的 group_concat 函数完成。

group_concat

简朴来讲,这个函数的作用就是衔接多个字段,函数的细致详解能够看这篇文章。

数据表

起首我们先竖立两个表

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', 'tom');
INSERT INTO `student` VALUES ('2', 'jerry');

CREATE TABLE `course` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `s_id` int(11) NOT NULL,
  `c_name` char(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES ('1', '1', '语文');
INSERT INTO `course` VALUES ('2', '1', '数学');
INSERT INTO `course` VALUES ('3', '2', '英语');
INSERT INTO `course` VALUES ('4', '2', '体育');
INSERT INTO `course` VALUES ('5', '2', '美术');

实例

假如我们用日常平凡运用的 SQL 查询

SELECT s.`name`,c.`c_name` FROM student AS s LEFT JOIN course AS c ON c.s_id = s.id;

查询出的效果是

下面用 group_concat 函数查询

SELECT s.`name`,(SELECT group_concat(course.c_name) FROM course WHERE course.s_id = s.id) FROM student AS s;

此时查询的效果

以上就是MySQL完成一对多查询的代码示例的细致内容,更多请关注ki4网别的相干文章!

标签:mysql


欢迎 发表评论: