55 lines
1.4 KiB
MySQL
55 lines
1.4 KiB
MySQL
|
|
-- ========================================
|
|||
|
|
-- 查询编号206学生的班级数据
|
|||
|
|
-- ========================================
|
|||
|
|
|
|||
|
|
-- 查询1:查看编号206的所有班级记录
|
|||
|
|
SELECT
|
|||
|
|
sc.id,
|
|||
|
|
sc.student_id,
|
|||
|
|
sc.class_id,
|
|||
|
|
c.class_name,
|
|||
|
|
sc.status,
|
|||
|
|
sc.join_time,
|
|||
|
|
sc.create_time
|
|||
|
|
FROM student_class sc
|
|||
|
|
LEFT JOIN class c ON sc.class_id = c.id
|
|||
|
|
WHERE sc.student_id = 206
|
|||
|
|
ORDER BY sc.join_time DESC, sc.create_time DESC;
|
|||
|
|
|
|||
|
|
-- 查询2:查看所有status=1(活跃)的班级
|
|||
|
|
SELECT
|
|||
|
|
sc.id,
|
|||
|
|
sc.student_id,
|
|||
|
|
sc.class_id,
|
|||
|
|
c.class_name,
|
|||
|
|
sc.status,
|
|||
|
|
sc.join_time
|
|||
|
|
FROM student_class sc
|
|||
|
|
LEFT JOIN class c ON sc.class_id = c.id
|
|||
|
|
WHERE sc.student_id = 206 AND sc.status = 1
|
|||
|
|
ORDER BY sc.join_time DESC, sc.create_time DESC;
|
|||
|
|
|
|||
|
|
-- 查询3:查看编号206在课程分配表中的数据
|
|||
|
|
SELECT
|
|||
|
|
ca.id,
|
|||
|
|
ca.course_id,
|
|||
|
|
ca.student_id,
|
|||
|
|
ca.class_id,
|
|||
|
|
co.course_name,
|
|||
|
|
cl.class_name
|
|||
|
|
FROM course_assignment ca
|
|||
|
|
LEFT JOIN course co ON ca.course_id = co.id
|
|||
|
|
LEFT JOIN class cl ON ca.class_id = cl.id
|
|||
|
|
WHERE ca.student_id = 206
|
|||
|
|
ORDER BY ca.create_time DESC;
|
|||
|
|
|
|||
|
|
-- 查询4:查看所有有多个班级的学生
|
|||
|
|
SELECT
|
|||
|
|
student_id,
|
|||
|
|
COUNT(*) as class_count,
|
|||
|
|
GROUP_CONCAT(CONCAT(class_id, '(', (SELECT class_name FROM class WHERE id = class_id), ')') SEPARATOR ', ') as classes
|
|||
|
|
FROM student_class
|
|||
|
|
WHERE status = 1
|
|||
|
|
GROUP BY student_id
|
|||
|
|
HAVING COUNT(*) > 1;
|