子查詢和嵌套查詢


 

子查詢

(我本人不太喜歡子查詢,覺得聯表查詢更舒服一些)

本質:在where 語句中嵌套一個子查詢語句

例如:

 


-- 查詢課程為 高等數學-4 且分數不小於10分的同學的學號和姓名
-- 聯表查詢
SELECT `subjectname`,s.`StudentNo`,`StudentName`
FROM `student` AS s
INNER JOIN `subject` AS sub
ON s.`gradeid`=sub.`gradeid`
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
WHERE `subjectname`='高等數學-4' AND `studentresult`>=10

-- 子查詢

-- 分成兩部分
-- 先查詢分數不小於10分的學生的姓名和學號
SELECT s.`StudentNo`,`StudentName`
FROM student AS s
INNER JOIN result AS r
ON r.`StudentNo`=s.`StudentNo`
WHERE `studentresult`>=10

-- 在這個基礎上增加一個科目,高等數學-4
-- 查詢 高等數學-4 的編號
SELECT s.`StudentNo`,`StudentName`
FROM student AS s
INNER JOIN result AS r
ON r.`StudentNo`=s.`StudentNo`
WHERE `studentresult`>=10 AND `subjectno`=(
SELECT `subjectno` FROM `subject`
WHERE `subjectname` ='高等數學-4'
)

 

嵌套查詢

本質上就是比子查詢更復雜些,由於我不喜歡用子查詢,這里就不詳細說了,想要了解的可以點開下面的鏈接自己學習!

子查詢和嵌套查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM