--------------------------------查詢部分------------------------------------
-->全部查詢
SELECT * FROM stuInfo;
-->條件查詢
SELECT * FROM stuInfo WHERE stuNO=10001;
-->統計函數查詢
SELECT COUNT(*) AS '行數' ,AVG(labExam) AS '平均數',
MIN(labExam) AS '最小值' ,MAX(labExam) AS '最大值'
FROM stuMark;
-->TOP 應用
SELECT TOP 3 * FROM stuInfo;
-->表間查詢
SELECT * FROM stuInfo AS info,stuMark AS mark -- 常用形式
WHERE info.stuNO = mark.stuNO;
SELECT * FROM stuInfo AS info INNER JOIN stuMark AS mark -- 內連接
ON info.stuNO = mark.stuNO;
SELECT * FROM stuInfo AS info RIGHT JOIN stuMark AS mark -- 右連接
ON info.stuNO = mark.stuNO;
SELECT * FROM stuInfo AS info LEFT JOIN stuMark AS mark -- 左連接
ON info.stuNO = mark.stuNO;
SELECT * FROM stuInfo AS info FULL JOIN stuMark AS mark -- 全連接
ON info.stuNO = mark.stuNO;
-->分組統計
SELECT COUNT(*) FROM stuInfo GROUP BY stuSex;
-->排序查詢
SELECT * FROM stuInfo ORDER BY stuNO DESC;
SELECT * FROM stuInfo ORDER BY stuNO ASC;
-->嵌套查詢
SELECT * FROM stuInfo AS info INNER JOIN stuMark AS mark
ON info.stuNO = mark.stuNO
WHERE mark.labExam > (SELECT AVG(labExam) FROM stuMark)
-->獲取兩個表中同種類型所有數值 ,
SELECT stuNO FROM stuInfo UNION SELECT stuNO FROM stuMark -- 去重複
SELECT stuNO FROM stuInfo UNION ALL SELECT stuNO FROM stuMark -- 不去重複
SELECT stuAge FROM stuInfo UNION SELECT stuNO FROM stuMark -- 相同類型羅列
SELECT * FROM stuMark WHERE stuNO IN(SELECT stuNO FROM stuInfo UNION SELECT stuNO FROM stuMark)
-->獲取一個表中數據不在另一個表中的所有值
SELECT stuNO FROM stuInfo EXCEPT SELECT stuNO FROM stuMark -- 在信息表中而不再成績表中學生的學號
-->獲取兩張表中共有的數據
SELECT stuNO FROM stuInfo INTERSECT SELECT stuNO FROM stuMark -- 成績表中和信息表中共有的學生學號