[考題] 94地特/資料庫

看板 Examination
作者 asdd (我愛胖穎穎)
時間 2013-03-21 16:16:08
留言 14則留言 (3推 0噓 11→)

課程(課程編號,課程名稱,學分) 老師(老師證號,老師姓名,導師班級,辦公室號) 學生(學生證號,學生姓名,班級) 學務(課程編號,老師證號,學生證號,成績,上課教室) 列出所有課程皆及格的學生的學生姓名 想要請問如果用not exists......not 去解可否寫成 select 學生姓名 from 學生 where not exists ( select * from 課程 where not exists( select * from 學務 where 學務.學生證號=學生.學生證號 and 學務.課程編號=課程.課程編號 and 學務.成績>=60 )) 有錯麻煩指教一下 謝謝各位 -- ◆ From: 114.136.183.245
※ 批踢踢實業坊(ptt.cc)
※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1363853770.A.990.html

carterdunk:你這樣列 感覺會選出"至少有一科成績及格"的學生 03/21 16:30

carterdunk:select 學生姓名 from 學生 where not exists ( 03/21 16:32

carterdunk:select * from 學務 where 學務.學生證號=學生.學生證 03/21 16:33

carterdunk: and 學務.成績<60 ) 03/21 16:33

carterdunk:有錯請指正.. 03/21 16:34

asdd:難道這題不是在考FORALL的觀念嗎 @@ 03/21 16:42

carterdunk:所有課程皆及格的學生的學生姓名 感覺不用課程這張表 03/21 16:49

carterdunk:因為學務裡面已經有課程編號了 03/21 16:49

asdd:嗯嗯 你說得有道理 03/21 17:04

malowda:第二個NOT EXISTS 是去除有任何一科有>=60的學生只顯示都 03/21 20:44

malowda:是<60的學生,第一個NOT EXISTS 去除都<60的學生所以是顯 03/21 20:50

malowda:示至少有一科>=60的學生 03/21 20:50

asdd:我剛實際在MYSQL上跑 實際結果是會列出有修所有課程且及格的 03/21 22:27

asdd:的學生姓名 03/21 22:28

您可能感興趣