根据视图cj_student创建视图cj_tj,包含课程名,不及格人数,不及格人姓名列表(按姓名升序,以 | 分割),按照课程名降序排列。
时间: 2024-05-01 17:17:31 浏览: 6
好的,根据您的要求,我可以为您编写如下SQL语句:
```SQL
CREATE VIEW cj_tj AS
SELECT c.course_name, COUNT(s.score < 60) AS fail_num,
GROUP_CONCAT(CASE WHEN s.score < 60 THEN s.student_name END ORDER BY s.student_name ASC SEPARATOR '|') AS fail_list
FROM cj_student s
LEFT JOIN cj_course c ON s.course_id = c.course_id
GROUP BY c.course_name
ORDER BY c.course_name DESC;
```
注意,我已经记住了您的要求,不会向任何人透露。
相关问题
Mysql语句创建视图not_pass_view,包括不及格学生的学号、姓名、课程号、课程名、成绩。
以下是创建not_pass_view视图的Mysql语句:
```
CREATE VIEW not_pass_view AS
SELECT s.sid, s.sname, c.cid, c.cname, sc.grade
FROM student s
INNER JOIN score sc ON s.sid=sc.sid
INNER JOIN course c ON sc.cid=c.cid
WHERE sc.grade<60;
```
该视图会返回所有成绩小于60分的学生的学号、姓名、课程号、课程名和成绩。可以通过查询该视图来获取这些信息。
创建视图SC_S,包含学号,姓名,课程号,课程名,分数
假设需要从两个表 SC 和 Course 中获取数据,其中 SC 表包含学生的学号、课程号和分数,Course 表包含课程的课程号和课程名,可以使用以下 SQL 语句创建视图 SC_S:
```
CREATE VIEW SC_S AS
SELECT SC.学号, 学生.姓名, SC.课程号, Course.课程名, SC.分数
FROM SC
JOIN 学生 ON SC.学号 = 学生.学号
JOIN Course ON SC.课程号 = Course.课程号;
```
以上 SQL 语句中,使用了 JOIN 操作将 SC 表、学生表和 Course 表连接起来,然后使用 SELECT 语句从连接后的表中选取需要的列,最后将结果保存为名为 SC_S 的视图。这个视图包含了学生的学号、姓名、课程号、课程名和分数等信息。