classes開課
registered_students學生選修
rooms教室
students學生
1. 找出所有姓中以s.開頭的學生。
sql語句:
select * from students where first_name like 『s*』;
返回結果:
2. 找出每個專業的學生人數、已得最高學分、最低學分、平均學分、學分總數。
sql語句:
select major as 專業,count(major) as 人數,max(current_cr) as 最高學分,min(current_cr) as 最低學分,**g(current_cr) as 平均學分,sum(current_cr) as 學分總數 from students group by major;
返回結果:
3. 找出所有教室的座位數,最大教室的座位數、最小座位數。
sql語句:
select sum(number_sea) as 座位數,max(number_sea) as 最大座位數,min(number_sea) as 最小座位數 from rooms;
返回結果:
4. 找出各大樓的最大教室座位數,最小教室座位數,平均座位數、座位總數。
sql語句:
select building as 大樓,max(number_sea) as 最大教室座位數,min(number_sea) as 最小教室座位數,**g(number_sea) as 平均座位數,sum(number_sea) as 座位總數 from rooms group by building;
返回結果:
5. 找出各課程尚可選修的人數。
sql語句:
select course as 開課課程,description as 課程名稱,max_students-current_students as 尚可選人數 from classes;
返回結果:
6. 找出開課最多的系。
sql語句:
select top 1 department as 開課系別,count(course) as 開課數 from registered_students group by department order by 2 desc;
返回結果:
//asc按公升序排列
//desc按降序排列
7. 找出開課最少的系。
sql語句:
select top 1 department as 開課系別,count(course) as 開課數 from registered_students group by department order by 2 asc;
返回結果:
8. 找出選課最多的學生。
sql語句:
select student_id as 學生號,count(course) as 選課數 from registered_students group by student_id h**ing count(course)>=all(select count(course) from registered_students group by student_id);
返回結果:
9. 找出選課最少的學生。
sql語句:
select student_id as 學生號,count(course) as 選課數 from registered_students group by student_id h**ing count(course)<=all(select count(course) from registered_students group by student_id);
返回結果:
10. 找出不及格的學生。
sql語句:
select distinct student_id as 學生號,first_name as 名,last_name as 姓,grade as 分數 from registered_students,students where id=student_id and grade='e';
返回結果:
11. 找出各課程平均分以下的學生。
sql語句:
select student_id as 學號,course as 課程,grade as 分數 from registered_students where asc(grade)>=(select **g(asc(grade)) from registered_students);
返回結果:
12. 找出各系所佔教室的座位數。
sql語句:
select department as 開課系別,sum(number_sea) as 座位數 from classes,rooms where group by department
返回結果:
13. 分別建立乙個學生、選修課程的歷史表,要求按時間儲存學生、選修課程資訊。將當前學生、選修資訊全部儲存到該歷史表。當前學生畢業,將當前學生刪除。
sql語句:
1)建立學生歷史表(增加入學日期regdate,學習狀態status)
sql語句:
create table int,first_name varchar(20),last_name varchar(20),major varchar(30),current_credits float,regdate date,status varchar(10));
返回結果:
2)建立選修課程歷史表(增加選課日期enrdate欄位)
sql語句:
create table int,department varchar(20),course int,grade varchar(20),enrdate date);
返回結果:
3)匯入當前學生狀態
sql語句:
insert into students_his(id,first_name,last_name,major, current_cre) select * from students;
返回結果:
4)更新入學日期,學習狀態
sql語句:
update students_his set regdate='2017-03-01',status='在學';
返回結果:
5)匯入當前選修資訊
資料庫實驗報告實驗二互動式SQL
資料庫系統概論 課程之實驗二 互動式sql 1 熟悉資料庫的互動式sql工具。2 熟悉通過sql對資料庫進行操作。3 完成作業的上機練習。利用kingbasees及其互動式查詢工具isqlw來熟悉sql。1.在kingbasees中建立乙個資料庫,進行實驗所要求的各種操作,所有的sql操作均在此建立...
資料庫建模技術實驗報告
實驗報告書 實驗名稱 資料庫建模技術之資料庫設計 專業班級 111030706 學號 11103070601 11103070619 姓名 陳傑潘耀斌 聯絡 指導老師 李唯唯 實驗時間 2014.4.28 2014.6.16 電腦科學與工程學院計算機實驗室 中心 目錄1.選題背景 對所選題目涉及的企...
資料庫實驗報告
資料庫系統概論 實驗報告 實驗三 sql單錶查詢和多表查詢 一 實驗目的 1 觀察查詢結果,體會select語句實際應用 2 要求學生能夠在access環境中使用select語句進行簡單查詢 資料排序和資料連線查詢的操作方法 二 實驗準備 本實驗需要用到實驗一所建立的 學生成績管理 的資料庫和stu...