欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql3張表鏈表查詢

劉姿婷1年前10瀏覽0評論

MySQL3張表鏈表查詢

MySQL是一種常用的關系型數據庫,可以很方便地進行數據操作。當需要查詢多張表的關聯數據時,可以使用鏈表查詢來實現。

假設有三張表,分別為學生表(students)、課程表(courses)和選課表(course_selected)。

學生表中有學生的基本信息,課程表中有課程的基本信息,選課表中記錄了每個學生選擇了哪些課程。

CREATE TABLE `students` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `courses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`teacher` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `course_selected` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`student_id` int(11) NOT NULL,
`course_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`student_id`) REFERENCES `students`(`id`),
FOREIGN KEY (`course_id`) REFERENCES `courses`(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

要查詢每個學生選擇的所有課程,可以使用如下SQL語句:

SELECT s.id, s.name, c.id, c.name, c.teacher
FROM students s
LEFT JOIN course_selected cs ON s.id = cs.student_id
LEFT JOIN courses c ON cs.course_id = c.id;

首先使用LEFT JOIN將學生表和選課表關聯起來,然后再使用LEFT JOIN將選課表和課程表關聯起來,最后查詢結果包含學生ID、學生姓名、課程ID、課程名稱和課程教師。

這樣就可以方便地查詢每個學生選擇的所有課程,可以根據需要對查詢結果進行篩選、排序等操作。