selectS_ID,S_NAME,S_SEX,S_BIRTHDAY,S_AGE,floor(months_between(trunc(sysdate), S_BIRTHDAY) / 12) as nj
from T_STU
where (s_sex = '女' OR s_sex is null) and S_AGE between 18 and 20
order by nj desc ;
第二题最终代码
selectt1.c_name as 班级名称,t2.s_name as 学生姓名,t2.s_sex as 性别,t2.s_moeny || ' 元' as 缴费金额
from t_stu t2
join t_class t1 on t2.c_id = t1.c_id
order byt1.c_name,t2.s_name;
第三题最终代码
selectt1.C_NAME,count(t2.S_ID) as 人数
from T_STU t2
join T_CLASS t1 on t2.C_ID=t1.C_ID
group by t1.C_NAME
having count(t2.S_ID)>=2
order by count(t2.S_ID) desc
第四题最终代码
selectnvl(s_sex, '男') as 性别,--如果s_sex字段为null,则返还结果为‘男’count(s_id) as 人数
from t_stu
group by nvl(s_sex, '男');