最近在做一个mysql+nodeJS的博客,只是用来练手,由于PHP不会,所以用node作为后台语音开发
遇到的查询问题是
文章和分类是一对一的
文章和标签是一对多的
请问这个mysql怎么写,在下是前端,会点简单的mysql,所以就当学习这个吧,最好能丢出sql语句我琢磨琢磨
表结构如下图
图片来源于图片来源,我就没有去做,只是合并了下
跪求各位的文章详情查询的sql语句
最近在做一个mysql+nodeJS的博客,只是用来练手,由于PHP不会,所以用node作为后台语音开发
遇到的查询问题是
文章和分类是一对一的
文章和标签是一对多的
请问这个mysql怎么写,在下是前端,会点简单的mysql,所以就当学习这个吧,最好能丢出sql语句我琢磨琢磨
表结构如下图
图片来源于图片来源,我就没有去做,只是合并了下
跪求各位的文章详情查询的sql语句
我试着写了一下,效率可能低了一点,不过功能应该是对的
CREATE TABLE `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
CREATE TABLE `tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
CREATE TABLE `tag_links` (
`aid` int(11) NOT NULL,
`tid` int(11) NOT NULL,
PRIMARY KEY (`aid`,`tid`)
);
-- insert demo data
INSERT INTO `articles` (`id`,`title`) VALUES (1,'xxx'),(2,'a'),(3,'b');
INSERT INTO `tags` (`id`,`name`) VALUES (1,'php'),(2,'java'),(3,'sql');
INSERT INTO `tag_links` (`aid`,`tid`) VALUES (1,2),(1,3);
INSERT INTO `tag_links` (`aid`,`tid`) VALUES (2,1),(2,3);
-- query statement
SELECT a.title as 'title',
(
SELECT GROUP_CONCAT(t.name,' ') FROM `tags` t
LEFT JOIN `tag_links` tl
ON t.id=tl.tid
WHERE tl.aid=a.id
) as 'tags'
FROM `articles` a;
2 回答3.1k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
用关联查询,或者in子查询
首先你要提供你的查询需求,要查什么,查询条件是什么,查询结果是什么。讲清楚场景才能写出SQL来