面試題:用一條sql語句查詢出“每門”課程都大於80分的學生姓名
阿新 • • 發佈:2019-01-30
分析:要查詢出每門課程都大於80分的學生姓名,因為一個學生有多門課程,可能所有課程都大於80分,可能有些課程大於80分,另外一些課程少於80分,也可能所有課程都小於80分,那麼我們要查找出所有大於80分的課程的學生姓名,我們可以反向思考,找出課程小於80分(可以找出有一些課程小於80分,所有課程小於80分的學生)的學生姓名再排除這些學生剩餘的就是所有課程都大於80分的學生姓名了,
1.用一條SQL語句查詢出每門課都大於80分的學生姓名
name kecheng fenshu
張三 語文 81
張三 數學 75
李四 語文 76
李四 數學 90
王五 語文 81
王五 數學 100
王五 英語 90
--建立表aa create table aa( name varchar(10), kecheng varchar(10), fengshu int ) --插入資料到表aa中 insert into aa values('張三','語文',81) insert into aa values('張三','數學',75) insert into aa values('李四','語文',76) insert into aa values('李四','數學',90) insert into aa values('王五','語文',81) insert into aa values('王五','數學',100) insert into aa values('王五','英語',90) --用一條SQL語句查詢出每門課都大於80分的學生姓名 select distinct name from aa where name not in (select distinct name from aa where fengshu<=80)