已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
18小时前关门了。
Improve this question
这是我的编码:
CREATE TABLE Student (
S_Id INT PRIMARY KEY,
S_Name VARCHAR(50),
Deptno INT,
Grade DECIMAL(4,2)
);
CREATE TABLE Dept (
Deptno INT PRIMARY KEY,
Dname VARCHAR(50)
);
INSERT INTO Dept (Deptno, Dname)
VALUES (1, 'Math'), (2, 'Science'), (3, 'English');
INSERT INTO Student (S_Id, S_Name, Deptno, Grade)
VALUES (1, 'John', 1, 85.0), (2, 'Jane', 1, 90.0), (3, 'Bob', 2, 75.0), (4, 'Alice', 2, 80.0), (5, 'Tom', 3, 95.0);
SELECT Deptno, COUNT(*) as Student_Count, MAX(Grade) as Max_Grade
FROM Student
GROUP BY Deptno;
SELECT S_Name, Grade
FROM Student
WHERE Grade > (SELECT AVG(Grade) FROM Student);
SELECT S_Name, COALESCE(Dname, 'No Department Assigned') as Dname
FROM Student
LEFT JOIN Dept ON Student.Deptno = Dept.Deptno;
我已经消除了INSERT INTO和VALUES命令中存在的问题。但是,我不确定为什么它不工作,以及我应该如何以不同的方式编写它。我想要的结果是返回以下内容:
- 每个部门的学生人数和最高成绩。
- 成绩高于所有学生平均成绩的学生名单。
- S_Name和他/她的Dname的列表(您应该授予所有学生必须返回,无论他们是否有deptno)
1条答案
按热度按时间zzoitvuj1#
你的问题是这个陈述:
不能像这样使用VALUES子句插入多行。一次插入一行。