用一條sql語句查詢出每門課都大于80分的學生姓名
首先需要進行分析:
要查詢出每門課程都大于80分的學生姓名,因為一個學生有多門課程,所以會出現下面三種情況。
- 第一可能所有課程都大于80分。
- 第二可能有些課程大于80分,另外一些課程少于80分。
- 第三也可能所有課程都小于80分。
那么我們要查找出所有大于80分的課程的學生姓名,我們可以反向思考,找出課程小于80分(可以找出有一些課程小于80分,所有課程小于80分的學生)的學生姓名再排除這些學生剩余的就是所有課程都大于80分的學生姓名了。
分析完成后,進入數據圖形化管理界面創建表并插入數據:
建表:
插入數據:
用一條SQL語句查詢出每門課都大于80分的學生姓名:
擴展資料:
除了用distinct還可以用not in 或者 not exists 實現,代碼如下:
//not in
SELECT DISTINCT A.name FROM Student A WHERE A.name not in(SELECT Distinct S.name FROM Student S WHERE S.score <80);//not exists
SELECT DISTINCT A.name From Student A where not exists (SELECT 1 From Student S Where S.score <80 AND S.name =A.name);
我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!