mysql一对多代码_MySQL实现一对多查询的代码示例
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于MySQL實現(xiàn)一對多查詢的代碼示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
這次要實現(xiàn)的是一對多查詢,使用 MySQL 的 group_concat 函數(shù)實現(xiàn)。
group_concat
簡單來說,這個函數(shù)的作用就是連接多個字段,函數(shù)的具體詳解可以看這篇文章。
數(shù)據(jù)表
首先我們先建立兩個表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', '數(shù)學(xué)');INSERT INTO `course` VALUES ('3', '2', '英語');INSERT INTO `course` VALUES ('4', '2', '體育');INSERT INTO `course` VALUES ('5', '2', '美術(shù)');
實例
如果我們用平時使用的 SQL 查詢SELECT s.`name`,c.`c_name` FROM student AS s LEFT JOIN course AS c ON c.s_id = s.id;
查詢出的結(jié)果是
下面用 group_concat 函數(shù)查詢SELECT s.`name`,(SELECT group_concat(course.c_name) FROM course WHERE course.s_id = s.id) FROM student AS s;
此時查詢的結(jié)果
總結(jié)
以上是生活随笔為你收集整理的mysql一对多代码_MySQL实现一对多查询的代码示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 盘点最精彩的安卓版本!7个版本上榜 An
- 下一篇: mac10.12 安装mysql_在ma