in
not in
exists
檢測物件是否存在 IF EXISTS
EXISTS子查詢的語法 : select * from 表名 where exists(子查詢陳述句)
子查詢陳述句有回傳結果: EXISTS子查詢結果為TRUE
子查詢陳述句無回傳結果: EXISTS子查詢結果為FALSE, 外層查詢不執行
制作成績單:
SELECT `studentName` 姓名,
( SELECT `gradeName` FROM `grade` WHERE `gradeId`=`subject`.`gradeId` ) AS 課程所屬年級 , #子查詢嵌套父查詢得到年級名
`subjectName` 課程名稱, `examDate` 考試日期, `studentResult` 成績
FROM `result` r1
INNER JOIN `student` ON r1.`studentNo`=`student`.`studentNo`
INNER JOIN `subject` ON `subject`.`subjectNo`=r1.`subjectNo`
WHERE r1.`examDate` IN (
SELECT MAX(`examDate`) FROM `result` r2
WHERE r1.`subjectNo` = r2.`subjectNo` #主查詢和子查詢間引數值系結
GROUP BY r2.`subjectNo`
)
ORDER BY subject.gradeId;
使用臨時表保存查詢結果 CREATE TEMPORARY TABLE 表名(查詢陳述句);
子查詢注意事項:
子查詢陳述句可以嵌套在SQL陳述句中任何運算式出現的位置
只出現在子查詢中而沒有出現在父查詢中的表不能包含在輸出列中
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105807.html
標籤:非技術區
上一篇:SqlYog常用函式
