MySQL 查詢同時選修了兩門
SELECT student_name FROM course_selection WHERE course_name = 'Math' AND student_name IN ( SELECT student_name FROM course_selection WHERE course_name = 'English' );
上面的查詢語句是用來查詢選修了同時選修了數學和英語課程的學生名字。
在 MySQL 中,查詢多個條件需要使用 AND 或 OR 操作符。本查詢語句使用了兩個條件:課程名字為 Math 和學生名字在選修英語課程的學生名單中。
其中,IN 關鍵字表示在一個列表中查找匹配的值。
SELECT student_name FROM course_selection WHERE course_name IN ('Math', 'English', 'History');
上面的查詢語句則是查詢選修了數學、英語或歷史課程的學生名字。
如果需要選修了全部三門課程的學生名字,查詢語句可以改為:
SELECT student_name FROM course_selection WHERE course_name IN ('Math', 'English', 'History') GROUP BY student_name HAVING COUNT(DISTINCT course_name) = 3;
其中,GROUP BY 關鍵字表示按照學生名字進行分組,HAVING 關鍵字表示限制選修了三門課程的學生。
MySQL 查詢的語法復雜而強大,需要不斷實踐才能掌握。