文章目录
一、查询要求
创建三张表分别是班级表,教师表,学生表。
这三张表的关系(一个班级一个教师,但一个班有多个学生):
班级表与教师表是一对一的关系
班级表与学生表是一对多的关联
要求查询:班级信息带老师信息和该班学生信息和班级信息只带老师的信息,不带学生信息
二、创建数据库表
(一)创建教师表
- 创建教师表并插入3条记录
CREATE TABLE `t_teacher` (
`t_id` int(11) NOT NULL AUTO_INCREMENT,
`t_name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`t_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `t_teacher` VALUES ('1', '刘晓云');
INSERT INTO `t_teacher` VALUES ('2', '郑同华');
INSERT INTO `t_teacher` VALUES ('3', '李明军');
- 查看教师表记录
(二)创建班级表
- 创建班级表并插入3条记录
CREATE TABLE `t_class` (
`c_id` int(11) NOT NULL AUTO_INCREMENT,
`c_name` varchar(20) DEFAULT NULL,
`teacher_id` int(11) DEFAULT NULL,
PRIMARY KEY (`c_id`),
KEY `fk_teacher_id` (`teacher_id`),
CONSTRAINT `fk_teacher_id` FOREIGN KEY (`teacher_id`) REFERENCES `t_teacher` (`t_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `t_class` VALUES ('1', '2020软件1班', '3');
INSERT INTO `t_class` VALUES ('2', '2020软件2班', '2');
INSERT INTO `t_class` VALUES ('3', '2020软件3班', '1');
- 查看班级表记录
(三)创建学生表
- 创建学生表并插入9条记录
CREATE TABLE `t_student` (
`s_id` int(11) NOT NULL AUTO_INCREMENT,
`s_name` varchar(30) DEFAULT NULL,
`s_gender` varchar(10) DEFAULT NULL,
`s_age` int(11) DEFAULT NULL,
`class_id` int(11) DEFAULT NULL,
PRIMARY KEY (`s_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
INSERT INTO `t_student` VALUES ('1', '佟大为', '男', '20', '1');
INSERT INTO `t_student` VALUES ('2', '李芳玉', '女', '19', '1');
INSERT INTO `t_student` VALUES ('3', '郑大林', '男', '19', '2');
INSERT INTO `t_student` VALUES ('4', '温晓辉', '男', '18', '1');
INSERT INTO `t_student` VALUES ('5', '吴文静', '女', '19', '2');
INSERT INTO `t_student` VALUES ('6', '肖文艳', '女', '18', '3');
INSERT INTO `t_student` VALUES ('7', '杨文军', '男', '20', '3');
INSERT INTO `t_student` VALUES ('8', '唐雨涵', '女', '19', '2');
INSERT INTO `t_student` VALU