任務9 P146 9.5.5獨立實踐

/****P146 9.5.5獨立實踐********
*****2013-06-02-22:43****************
*******************************
*/

--1.使用內連接查詢
--(1)查詢選修了“C#程序設計”課程的學生的學號、姓名、成績。
select 學生.學號,學生.姓名,學生_課程.課程成績--(select 課程.課程名稱 from 課程 where 課程.課程名稱='C#程序設計' and 學生_課程.課程編號=課程.課程編號)
from 學生
inner join 學生_課程
on 學生.學號 = 學生_課程.學號 and 學生_課程.課程編號 in
(select 課程.課程編號 from 課程 where 課程.課程名稱='C#程序設計')

--(2)查詢學號爲100001的學生選修的所有課程的名稱、成績。
select 課程.課程名稱,學生_課程.課程成績
from 課程 inner join 學生_課程
on 課程.課程編號 = 學生_課程.課程編號 and 學生_課程.學號 ='100001'

--(3)查詢“C#程序設計”課程的平均分、最高分和最低分。
select 課程.課程名稱,Avg(學生_課程.課程成績) as '平均分',MAX(學生_課程.課程成績) as '最高分',MIN(學生_課程.課程成績) as '最低分'
from 學生_課程 inner join 課程
on 學生_課程.課程編號 = 課程.課程編號 and 課程.課程名稱='C#程序設計'
group by 課程.課程名稱


--2.使用左向外連接查詢
--(1)查詢所有系及其專業的信息,包括哪些沒有專業的系的信息。
select 學院.*,專業.*
from 學院 left outer join 專業
on 學院.學院編號 = 專業.學院編號

/*alter table 學院
alter column 學校編號 int null*/

--(2)編寫查詢,查詢學生的信息及選修的“C#程序設計”課程的成績,包括那些沒有選修”C#程序設計“課程的學生信息。
select 學生.*,學生_課程.課程成績,(select 課程.課程名稱 from 課程 where 課程.課程名稱='C#程序設計' and 課程.課程編號  = 學生_課程.課程編號) as '課程名稱'
from 學生 left outer join 學生_課程
on 學生.學號 = 學生_課程.學號 and 學生_課程.課程編號 in (select 課程.課程編號 from 課程 where 課程.課程名稱='C#程序設計')

--3.使用右向外連接查詢
--查詢學生的學號、選修課程的名稱及成績,包括那些沒有被選的課程的名稱。
select 學生_課程.學號,課程.課程名稱,學生_課程.課程成績
from 學生_課程 right outer join 課程
on 學生_課程.課程編號 = 課程.課程編號

2013-06-02-22:43

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章