第二次作業

2021-05-25 23:06:01 字數 2168 閱讀 1406

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 ...