色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql關聯中間表

錢諍諍2年前7瀏覽0評論

MySQL關聯中間表是指,在數據庫中通過使用一個連接表,將兩個表之間的關系連接起來,從而實現多對多關系的數據查詢和操作。下面我們通過一個示例來介紹如何使用MySQL關聯中間表。

CREATE TABLE `teacher` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '教師姓名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='教師表';
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '學生姓名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='學生表';
CREATE TABLE `teacher_student` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
`teacher_id` int(11) NOT NULL COMMENT '教師id',
`student_id` int(11) NOT NULL COMMENT '學生id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='教師學生關聯表';

在這個示例中,我們創建了三個表:teacher, student, teacher_student。其中,teacher和student分別代表教師和學生兩個實體,teacher_student則是連接這兩個實體的中間表。

下面我們來看一下如何通過MySQL語句進行關聯查詢,例如查詢某個教師所教授的所有學生:

SELECT s.name
FROM student s
INNER JOIN teacher_student ts ON ts.student_id = s.id
INNER JOIN teacher t ON t.id = ts.teacher_id
WHERE t.id = 1;

這個查詢語句使用了INNER JOIN來連接三個表,其中ts.student_id = s.id和t.id = ts.teacher_id表示連接條件,最后的WHERE子句用來過濾出指定教師的學生。

通過MySQL關聯中間表,我們可以實現更加復雜的多對多關系數據查詢和操作,如有需要,也可以通過增加更多的中間表來擴展這個模型。