建表
create table t_student
( stu_id varchar ( 10 ) , stu_name varchar ( 10 ) , stu_age datetime , stu_sex varchar ( 10 )
) ;
create table t_t_course
( c_id varchar ( 10 ) , c_name varchar ( 10 ) , c_teaid varchar ( 10 )
) ;
create table t_t_teacher
( tea_id varchar ( 10 ) , tea_name varchar ( 10 )
) ;
create table t_t_score
( s_stuid varchar ( 10 ) , s_cid varchar ( 10 ) , s_score decimal ( 18 , 1 )
) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '01' , '赵雷' , '1990-01-01' , '男' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '02' , '钱电' , '1990-12-21' , '男' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '03' , '孙风' , '1990-12-20' , '男' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '04' , '李云' , '1990-12-06' , '男' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '05' , '周梅' , '1991-12-01' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '06' , '吴兰' , '1992-01-01' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '07' , '郑竹' , '1989-01-01' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '09' , '张三' , '2017-12-20' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '10' , '李四' , '2017-12-25' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '11' , '李四' , '2012-06-06' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '12' , '赵六' , '2013-06-13' , '女' ) ;
insert into t_student( stu_id, stu_name, stu_age, stu_sex)
values ( '13' , '孙七' , '2014-06-01' , '女' ) ;
insert into t_t_course( c_id, c_name, c_teaid)
values ( '01' , '语文' , '02' ) ;
insert into t_course( c_id, c_name, c_teaid)
values ( '02' , '数学' , '01' ) ;
insert into t_course( c_id, c_name, c_teaid)
values ( '03' , '英语' , '03' ) ;
insert into t_teacher( tea_id, tea_name)
values ( '01' , '张三' ) ;
insert into t_teacher( tea_id, tea_name)
values ( '02' , '李四' ) ;
insert into t_teacher( tea_id, tea_name)
values ( '03' , '王五' ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '01' , '01' , 80 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '01' , '02' , 90 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '01' , '03' , 99 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '02' , '01' , 70 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '02' , '02' , 60 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '02' , '03' , 80 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '03' , '01' , 80 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '03' , '02' , 80 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '03' , '03' , 80 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '04' , '01' , 50 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '04' , '02' , 30 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '04' , '03' , 20 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '05' , '01' , 76 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '05' , '02' , 87 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '06' , '01' , 31 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '06' , '03' , 34 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '07' , '02' , 89 ) ;
insert into t_score( s_stuid, s_cid, s_score)
values ( '07' , '03' , 98 ) ;
练习
select count ( * ) , stu_name
from t_student
group by stu_name;
select *
from t_student
order by convert ( stu_name using GBK) ;
select avg ( s_score)
from t_score
group by s_cid
ORDER BY avg ( s_score) DESC , s_cid ASC ;
select s. stu_id, s. stu_name, avg ( sc. s_score)
from t_student sinner join t_score sc on s. stu_id = sc. s_stuid
group by s. stu_id, s. stu_name
having avg ( s_score) >= 85 ;
select *
from t_student sinner join t_score sc on s. stu_id = sc. s_stuidinner join t_course c on sc. s_cid = c. c_id
where c. c_name = '数学' and sc. s_score < 60 ;
select s. stu_name, c. c_name, sc. s_score
from t_student sinner join t_score scon s. stu_id = sc. s_stuidinner join t_course c on sc. s_cid = c. c_id
where sc. s_score > 70 ;
select s. stu_id, s. stu_name
from t_student sinner join t_score scon s. stu_id = sc. s_stuidinner join t_course c on sc. s_cid = c. c_id
where sc. s_score >= 80 and c. c_id = '01' ;
select s. stu_id, s. stu_name , s_score
from t_student sinner join t_score sc on s. stu_id = sc. s_stuidinner join t_course c on sc. s_cid = c. c_idinner join t_teacher t on c. c_teaid = t. tea_id
where t. tea_name = '张三' and sc. s_score = ( select MAX ( sc1. s_score) from t_score sc1inner join t_course c1 on sc1. s_cid = c1. c_idinner join t_teacher t1 on c1. c_teaid = t1. tea_idwhere t1. tea_name = '张三' ) ;