oracle 看看我的代码,为什么我会得到错误代码:ORA-00933:SQL命令未正确结束?[已关闭]

8cdiaqws  于 2023-03-29  发布在  Oracle
关注(0)|答案(1)|浏览(107)

已关闭。此问题需要超过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)
zzoitvuj

zzoitvuj1#

你的问题是这个陈述:

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);

不能像这样使用VALUES子句插入多行。一次插入一行。

相关问题