execise02
1.查詢85年以後出生的學生姓名、性別和出生日期
2.列表顯示所有可能的學生選課組合(學號、課程號)
3.查詢1、2、4班中陳姓同學的資訊
4.查詢所有及格的學生姓名、所選課程名及所得分數
5.統計各門課程的及格人數(課程編號、課程名、及格人數)
6.統計各門課程的總人數、及格人數和不及格人數(課程編號、課程名、總人數、及格人數、不及格人數)(*較難*)
7.統計各門課程選課的人數,若課程無人選擇則選課人數為0(課程編號、課程名、選課人數)
8.查詢未選課程的學生名單(學號、姓名),查詢選擇所有課程的學生名單(*較難*)
1.select f_name as "姓名",f_*** as "性別 ",f_birth as "出生日期"
from t_student
where f_birth>'31-12月-85';
2.select t_student.f_id as"學號",t_course.f_id as "課程號"
from t_student cross join t_course;
3.select * from t_student
where f_name like '陳%' and f_class in(1,2,4);
4.select t_student.f_name,t_course.f_name,f_grade
from t_grade
join t_student on(t_grade.f_stuid=t_student.f_id)
join t_course on (t_grade.f_courseid=t_course.f_id)
where f_grade>=60 ;
5.select t_course.f_id as "課程編號",f_name as "課程名稱",count(f_stuid) as "及格人數"
from t_grade , t_course
where t_grade.f_courseid=t_course.f_id and f_grade>=60
group by t_course.f_id,t_course.f_name;
6.select t_course.f_id as "課程編號",f_name as "課程名稱",count(f_stuid) as "總人數", sum(case when f_grade>=60 then 1 else 0 end)as "及格人數",sum(case when f_grade<60 then 1 else 0 end) as "不及格人數"
from t_grade right join t_course on t_grade.f_courseid=t_course.f_id
group by t_course.f_id,t_course.f_name;
7.select t_course.f_id as "課程編號",f_name as "課程名稱",count(f_stuid) as "選課人數"
from t_grade right join t_course on t_grade.f_courseid=t_course.f_id
group by t_course.f_id,t_course.f_name;
8.select t_student.f_id as "學號",t_student.f_name as "姓名"
from t_student
where not exists(select t_student.f_id from t_grade where t_student.f_id=t_grade.f_stuid);
8-2select t_student.f_id , t_student.f_name,tab1.count1
from (select t_student.f_id as p, count(f_courseid) as count1
from t_student left join t_grade on(t_student.f_id=t_grade.f_stuid)
group by t_student.f_id) tab1 right join t_student on(t_student.f_id =tab1.p)
where tab1.count1 not in( select count(*) as 課程總數 from t_course);
第二次作業
第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...
第二次作業
檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...
第二次作業
題目一 將示例 修改為能夠批量重新命名目標檔案 批量刪除檔案等。批量重新命名 import os def rename dir filelist os.listdir dir 讀取檔案路徑 i 0for file in filelist filetype os.path.splitext file ...