94地特/資料庫 - 考試

Table of Contents

課程(課程編號,課程名稱,學分)

老師(老師證號,老師姓名,導師班級,辦公室號)

學生(學生證號,學生姓名,班級)

學務(課程編號,老師證號,學生證號,成績,上課教室)

列出所有課程皆及格的學生的學生姓名

想要請問如果用not exists......not 去解可否寫成

select 學生姓名 from 學生

where not exists (

select * from 課程 where not exists(

select * from 學務 where 學務.學生證號=學生.學生證號

and 學務.課程編號=課程.課程編號 and 學務.成績>=60

))

有錯麻煩指教一下 謝謝各位

--

All Comments

Todd Johnson avatarTodd Johnson2013-03-23
你這樣列 感覺會選出"至少有一科成績及格"的學生
Jack avatarJack2013-03-27
select 學生姓名 from 學生 where not exists (
Bennie avatarBennie2013-03-30
select * from 學務 where 學務.學生證號=學生.學生證
and 學務.成績<60 )
Madame avatarMadame2013-04-01
有錯請指正..
Ingrid avatarIngrid2013-04-01
難道這題不是在考FORALL的觀念嗎 @@
Emily avatarEmily2013-04-06
所有課程皆及格的學生的學生姓名 感覺不用課程這張表
因為學務裡面已經有課程編號了
Jacky avatarJacky2013-04-06
嗯嗯 你說得有道理
Hedwig avatarHedwig2013-04-10
第二個NOT EXISTS 是去除有任何一科有>=60的學生只顯示都
Dora avatarDora2013-04-14
是<60的學生,第一個NOT EXISTS 去除都<60的學生所以是顯
示至少有一科>=60的學生
Elizabeth avatarElizabeth2013-04-15
我剛實際在MYSQL上跑 實際結果是會列出有修所有課程且及格的
Connor avatarConnor2013-04-18
的學生姓名