【发布时间】:2019-08-19 17:35:55
【问题描述】:
我的数据库中有三个表:
boards: idBoard, nameBoard, author
sections: idSection, nameSection, idBoard
tasks: idTask, nameTask, idSection
我的查询如下所示:
SELECT tasks.idTask, sections.idSection, (more...)
FROM `tasks`
INNER JOIN `boards` ON tasks.idBoard = boards.idBoard
INNER JOIN `sections` ON sections.idSection = tasks.idSection
WHERE boards.idBoard = ?
AND boards.author= ?
查询运行良好,但它不返回没有 tasks 项目的 sections。
不幸的是,我真的不知道它为什么会这样。我还想获得与boards 匹配但没有tasks 项目的section 项目
【问题讨论】:
-
您知道
INNER JOIN的工作原理吗?你知道除了INNER JOIN之外的其他类型的连接吗? (提示:LEFT JOIN) -
您的查询引用了
tasks.idBoard,它不在您描述的表格中。 -
请提供
SHOW CREATE TABLE。 -
您可能需要
INDEX(author, idBoard)(以任意顺序)。
标签: mysql sql database mariadb