rkday2/two.sql

71 lines
2.5 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

DROP TABLE IF EXISTS `stu_cou`;
CREATE TABLE `stu_cou` (
`sc_id` int(11) NOT NULL AUTO_INCREMENT,
`c_id` int(11) NULL DEFAULT NULL,
`s_id` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`sc_id`) USING BTREE
)
DROP TABLE IF EXISTS `t_course`;
CREATE TABLE `t_course` (
`c_id` int(11) NOT NULL AUTO_INCREMENT,
`c_name` varchar(255) CHARACTER SET utf8 NULL DEFAULT NULL,
PRIMARY KEY (`c_id`) USING BTREE
)
DROP TABLE IF EXISTS `t_student`;
CREATE TABLE `t_student` (
`s_id` int(11) NOT NULL AUTO_INCREMENT,
`s_name` varchar(255) CHARACTER SET utf8 NULL DEFAULT NULL,
`sex` varchar(255) CHARACTER SET utf8 NULL DEFAULT NULL,
PRIMARY KEY (`s_id`) USING BTREE
)
SET FOREIGN_KEY_CHECKS = 1;
-- 插入数据
INSERT INTO `t_student` VALUES (1, '陈詩涵', '');
INSERT INTO `t_student` VALUES (2, '高秀英', '');
INSERT INTO `t_student` VALUES (3, '周子异', '');
INSERT INTO `t_student` VALUES (4, '钱云熙', '');
INSERT INTO `t_student` VALUES (5, '史致远', '');
INSERT INTO `t_student` VALUES (6, '蔡詩涵', '');
INSERT INTO `t_student` VALUES (7, '马睿', '');
INSERT INTO `t_student` VALUES (8, '黄嘉伦', '');
INSERT INTO `t_student` VALUES (9, '刘杰宏', '');
INSERT INTO `t_student` VALUES (10, '常子韬', '');
INSERT INTO `t_course` VALUES (1, '语文');
INSERT INTO `t_course` VALUES (2, '数学');
INSERT INTO `t_course` VALUES (3, '英语');
INSERT INTO `stu_cou` VALUES (1, 2, 10);
INSERT INTO `stu_cou` VALUES (2, 1, 8);
INSERT INTO `stu_cou` VALUES (3, 2, 1);
INSERT INTO `stu_cou` VALUES (4, 2, 3);
INSERT INTO `stu_cou` VALUES (5, 3, 3);
INSERT INTO `stu_cou` VALUES (6, 2, 10);
INSERT INTO `stu_cou` VALUES (7, 2, 1);
INSERT INTO `stu_cou` VALUES (8, 3, 4);
INSERT INTO `stu_cou` VALUES (9, 2, 5);
INSERT INTO `stu_cou` VALUES (10, 2, 7);
INSERT INTO `stu_cou` VALUES (11, 2, 10);
INSERT INTO `stu_cou` VALUES (12, 3, 7);
INSERT INTO `stu_cou` VALUES (13, 3, 5);
INSERT INTO `stu_cou` VALUES (14, 3, 5);
INSERT INTO `stu_cou` VALUES (15, 2, 10);
-- 3.查询男生和女生各多少人。15分
SELECT sex, COUNT(*) AS num FROM t_student GROUP BY sex;
-- 4. 查询男生和女生分别占总人数的比例。20分
SELECT sex, COUNT(*) FROM t_student GROUP BY sex;
-- 5.查询每门课程下的学生总人数。15分
SELECT c.c_name, COUNT(sc.s_id) AS student_count FROM
t_course c LEFT JOIN stu_cou sc
ON c.c_id = sc.c_id GROUP BY c.c_id, c.c_name;