問題以及表結構來自:https://www.cnblogs.com/wupeiqi/articles/5729934.html
-- 查詢學生本人“生物”課程比“物理”課程成績高的所有學生的學號;
SELECT * FROM (
(SELECT * FROM score WHERE corse_id in (SELECT cid FROM course WHERE cname='生物')) t1 -- 查出所以生物試卷成績
LEFT JOIN -- 左關聯
(SELECT * FROM score WHERE corse_id in (SELECT cid FROM course WHERE cname='物理')) t2 -- 查出所以物理試卷成績
on t1.student_id = t2.student_id -- 是同一個人
) WHERE t1.number>t2.number; -- 判斷生物成績>物理成績
-- 查詢平均成績大于60分的同學的學號和平均成績; 注意:mysql5.7以后,GROUP BY 必須配合聚合函式使用
SELECT * FROM
(SELECT AVG(number)as num ,student_id FROM score GROUP BY student_id ORDER BY student_id) a -- 計算每個人的平均分 作為中間表
WHERE a.num>60;
-- 查詢所有同學的學號、姓名、選課數、總成績;
SELECT SUM(number)as sun_num ,student_id ,COUNT(sid)as count_id FROM score GROUP BY student_id ;
SELECT SUM(score.number)as sun_num ,student_id ,COUNT(score.sid)as count_id FROM score LEFT JOIN student on score.student_id=student.sid GROUP BY score.student_id ;
-- 查詢姓“李”的老師的個數;
SELECT COUNT(tid) FROM teacher WHERE tname LIKE '李%';
-- 查詢沒學過“張老師”老師課的同學的學號、姓名;
SELECT * FROM student WHERE sid not in(
-- 查詢這些課程的所有學生
SELECT student_id FROM score WHERE corse_id in
-- 查詢張老師教的所有課
(
SELECT cid FROM course WHERE tearch_id in (SELECT tid FROM teacher WHERE tname='張老師')
)
)
GROUP BY sid ;
-- 查詢學過“1”并且也學過編號“2”課程的同學的學號、姓名;
SELECT student_id FROM score WHERE corse_id in (SELECT cid FROM course WHERE cid in (1,2)) ;
-- 查詢學過“張”老師所教的所有課的同學的學號、姓名 并且成績大于200;
SELECT sname,sid FROM student WHERE sid
in
(SELECT student_id FROM score WHERE corse_id
in
( select cid from course WHERE tearch_id in
( SELECT tid FROM teacher WHERE tname='張老師'))
and number>200) ;
-- 查詢課程編號“002”的成績比課程編號“001”課程低的所有同學的學號、姓名;
SELECT * FROM student WHERE sid in (
SELECT t1.student_id FROM(
(select * FROM score WHERE corse_id=2) t2 -- 找到課程2的所以成績
LEFT JOIN
(select * FROM score WHERE corse_id=1) t1 -- 找到課程1的所以成績
on t2.student_id = t1.student_id) -- 找到學習了課程2和1的學生
WHERE t2.number < t1.number -- 判斷2小于1
) -- 輸出
-- 查詢有課程成績小于60分的同學的學號、姓名;
select sname as '名字',sid FROM student WHERE sid in (select student_id FROM score WHERE number<60);
個人小站,歡迎訪問!http://klvr.xyz
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/548603.html
標籤:其他
上一篇:【網路安全軟體】上海道寧與Cybereason為您提供未雨綢繆的攻擊保護,終結對端點、整個企業以及網路上任何角落的網路攻擊
