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一对多查询_MySQL 一对多查询相关推荐
- mysql 三个表内连接查询_MySQL多表查询详解
多表查询 1. 表与表之间的关系 <1> 一对一 用户表和身份信息表,用户表是主表 男人表.女人表 create table man( mid int primary key auto_i ...
- golang mysql多表查询_MySQL多表查询
一 多表连接查询 #重点:外链接语法 SELECT 字段列表 FROM 表1 INNER|LEFT|RIGHT JOIN 表2 ON 表1.字段= 表2.字段; #建表 create table de ...
- php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)
mysql中时间查询函数(包括时间戳) 这些函数都是MySQL自带的,可以直接使用在PHP写的MySQL查询语句中哦 1-CURDATE()或CURRENT_DATE()和CURTIME()或CURR ...
- mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程
MysqL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用MysqL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如 ...
- mysql 检查哪些项目_mysql根据内容查询在哪个表.go
package main import ( "database/sql" "errors" "fmt" "github.com/g ...
- mysql数据库实验3查询_mysql数据库(3)-查询
数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...
- mysql 同表子查询_MySQL 表子查询
MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据. MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: aidtitlecontentu ...
- mysql一对多分类_mysql一对多结果归类
我从数据库里面查出来很多数据,都是一条一条的,是一个二维数组,格式如下: Array ( [0] => Array ( [id] => 29 [user_id] => 1 [car_ ...
- MySQL列数不确定查询_MySQL的高级查询
高级查询: 1.连接查询 指把2张表或者多张表之间做一个连接,所有数据放在一个表里显示.适用于有外键关系的2张表或多张表.如果没有加外键关系,但是这2张表有联系,也可以加连接查询. sele ...
- mysql离散查询_mySQL数据库数据查询操作详解
查询数据: 简单查询: 1.查询所有数据: select * from 表名 #select * from info 查询所有列 2.查询指定列: select code,name from info ...
最新文章
- ncnn量化学习笔记
- 【信息安全】ECC加密算法入门介绍
- HDFS二次开发常见问题
- SVN更新的时候报断言失败解决办法
- 黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes
- ios设计规范_e微课5期:ios设计规范带来的设计细节(下篇)
- Linux 定时任务 定时备份mysql数据
- java读取某个文件夹下的所有文件
- CSS3和jQuery实现的自定义美化Checkbox和Radiobox
- 04MVC、RPC、SOA、微服务架构区别
- 去除winrar的弹窗广告方法(亲测有效)
- 常见单位换算[时间,距离,热量...]
- word2010中设置页码起始页从任意一页开始
- 心率检测实现报告(二)
- C语言 近似求PI
- java即时通讯im聊天源码,dubbo即时通讯im聊天源码,netty即时通讯im聊天源码,springboot即时通讯im聊天源码
- dubbo的简单搭建
- 刷脸支付青蛙Pro打通微信卡包小程序
- mac使用git管理Github
- Content Negotation在Nancy的实现和使用