MySQL 三张表联合查询
MySQL 三张表联合查询
1.表结构
1.1.图片表(存放图片)
CREATE TABLE `tb_pic` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长 id', `url` varchar(255) DEFAULT NULL COMMENT '图片 url 路径', `description` varchar(255) DEFAULT NULL COMMENT '图片描述', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='图片表';
1.2.标签表(存放标签)
CREATE TABLE `tb_flag` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长 id', `name` varchar(255) DEFAULT NULL COMMENT '标签名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='标签表';
1.3.图片标签链接表(图片、标签中间表)
CREATE TABLE `tb_pic_flag_link` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长 id', `pic_id` int(11) DEFAULT NULL COMMENT '图片 id', `flag_id` int(11) DEFAULT NULL COMMENT '标签 id', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='图片标签链接表';
2.实现的效果
2.1.查询单张图片的描述
效果:
查询语句:
#查询单张图片,及其描述 SELECT p.id, p.url, p.description, GROUP_CONCAT(f.`name`) from tb_pic p, tb_pic_flag_link l, tb_flag f where p.id = l.pic_id and l.flag_id=f.id and p.id=1;
2.2.查询所有图片的描述
效果:
查询语句:
相关推荐
CoderToy 2020-11-16
emmm00 2020-11-17
王艺强 2020-11-17
ribavnu 2020-11-16
bianruifeng 2020-11-16
wangshuangbao 2020-11-13
苏康申 2020-11-13
vivenwan 2020-11-13
moyekongling 2020-11-13
云中舞步 2020-11-12
要啥自行车一把梭 2020-11-12
aydh 2020-11-12
kuwoyinlehe 2020-11-12
minerk 2020-11-12
vitasfly 2020-11-12
jazywoo在路上 2020-11-11
敏敏张 2020-11-11
世樹 2020-11-11