效果是:
我們查出來葉平的教的課的id是002和016.我們選出的學生同時有這兩門課。
如下:

-------------------------------------------------------------------------------------------------------------------------------------------------
具體的做法:
第一步:查找葉平的id
select tblteacher.TeaId from tblteacher where tblteacher.TeaName='葉平'-- 查出葉平老師的id
第二步:查找葉平上的課的id
select tblcourse.CourseId from tblcourse where tblcourse.TeaId=
(
select tblteacher.TeaId from tblteacher where tblteacher.TeaName='葉平'-- 查出葉平老師的id
)-- 葉平老師上的課的課程id
結果:

然后就碰到了問題卡在這里了。
遇到的問題是:
我們要查的是上過這兩門課的人(001,016)就是說這個人是這樣的:

怎么去查呢?
語句:
select st.StuId,st.StuName from tblstudent st where NOT EXISTS ( /* 要滿足的條件是: 1:查葉平的id(兩個) 2:葉平的兩個id(看做一個整體)不能包含在我學生對應的查出來的成績表中的課程id */ select tblcourse.CourseId from tblcourse where tblcourse.TeaId= ( select tblteacher.TeaId from tblteacher where tblteacher.TeaName='葉平'-- 查出葉平老師的id ) and tblcourse.CourseId nOT IN( SELECT TBLSCORE.CourseId FROM TBLSCORE WHERE tblscore.StuId=st.StuId ) )
這里對NOT EXISTS說明一下。
NOT EXISTS(。。。。。)
。。。查出來有結果那么就返回true,但是因為NOT,所以又變成了false,那么select就不返回任何東西。
。。。查出來沒有結果那么返回就是false。但是因為NOT.所以又變成了true,那么select 就返回那個查詢結果。
