55 lines
1.4 KiB
SQL
55 lines
1.4 KiB
SQL
-- ========================================
|
||
-- 查询编号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;
|