首页 > 解决方案 > 使用带有外键的 MySQL 连接三个表

问题描述

现在我有一个下面的查询只运行两个表!但是,我想使用带有外键的 MySQL 加入三个表!我将 SQL 代码粘贴在下面以查看外键!

$sql  = "SELECT student.*, courses.* 
        FROM student 
        INNER JOIN courses ON student.id=courses.id_courses  
        INNER JOIN schedule ON schedule.id_schedule = schedule.id";

这是我的数据库:

--
-- Table structure for table `courses`
--


--
-- Constraints for table `schedule`
--
ALTER TABLE `schedule`
  ADD CONSTRAINT `schedule_ibfk_1` FOREIGN KEY (`id_courses`) REFERENCES `courses` (`id_courses`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `schedule_ibfk_2` FOREIGN KEY (`id`) REFERENCES `student` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

标签: mysql

解决方案


您要加入 3 个表,但未加入正确的外键。

SELECT student.*, courses.*
FROM schedule
JOIN student ON student.id = schedule.id
JOIN courses ON courses.id_courses = schedule.id_courses

演示


推荐阅读