2112Aday2/sql/day.sql

61 lines
1.2 KiB
SQL

create table t_student(
s_id int(11) PRIMARY KEY auto_increment,
s_name VARCHAR(50),
sex VARCHAR(10)
)
create table t_course(
c_id int(11) PRIMARY KEY auto_increment,
c_name VARCHAR(100)
)
CREATE TABLE stu_cou(
sc_id int(11) PRIMARY KEY auto_increment,
c_id int(11),
s_id int(11)
)
INSERT into t_student VALUES
(0,'学生1',''),
(0,'学生2',''),
(0,'学生3',''),
(0,'学生4',''),
(0,'学生5',''),
(0,'学生6',''),
(0,'学生7',''),
(0,'学生8',''),
(0,'学生9',''),
(0,'学生10','');
INSERT into t_course VALUES
(0,'语文'),
(0,'数学'),
(0,'日语');
INSERT INTO stu_cou VALUES
(0,1,1),
(0,1,2),
(0,1,3),
(0,2,4),
(0,2,5),
(0,2,6),
(0,3,7),
(0,3,8),
(0,3,9),
(0,3,10);
-- 查询男生和女生各多少人
SELECT sex,COUNT(t_student.s_name) from t_student GROUP BY sex
-- 查询男生和女生分别占总人数的比例
SELECT sex,ROUND(COUNT(t_student.s_name)/(SELECT COUNT(t_student.s_name) from t_student)* 100,2) from t_student GROUP BY sex
-- 查询每门课程下的学生总人数
SELECT
t_course.c_name,
COUNT( t_student.s_name )
FROM
t_student
LEFT JOIN stu_cou ON t_student.s_id = stu_cou.s_id
left join t_course on stu_cou.c_id=t_course.c_id
GROUP BY t_course.c_name