简单SQL查询语句语法错误

简单SQL查询语句语法错误,sql,database,ms-access-2007,Sql,Database,Ms Access 2007,我是数据库新手,以前从未使用过Access 2007,我在语法方面遇到了问题。这是信息 Teacher = [CourseN, Quarter,TeacherName] Course = [CourseN,CourseName, Nunit) Section = [CourseN, Quarter , DayTime, RoomN]/ Examples of DayTime: M2:00AM, W4:50PM, and T8:00PM. Note that DayTime is repres

我是数据库新手,以前从未使用过Access 2007,我在语法方面遇到了问题。这是信息

Teacher = [CourseN, Quarter,TeacherName]
Course = [CourseN,CourseName, Nunit)
Section = [CourseN, Quarter , DayTime,  RoomN]/ Examples of DayTime: M2:00AM, 
W4:50PM, and T8:00PM. Note that DayTime is represented as a string.
Student = [studentName, CourseN, Quarter]
问题

12.使用“*”列出按课程名称升序、课程名称降序排序的每门课程的课程名称、课程名称、Nunit、季度、教师名称

我的回答

 SELECT CourseN, CourseName, Nunit, Quarter, TeacherName 
 FROM *
 ORDER BY CourseN ASC, CourseName DESC;
但是这给了我一个FROM子句的错误,我如何修复这个语法错误?还是我不能这样做?任何信息都很好,谢谢

编辑:我知道我可以这样做,对吗

SELECT C.CourseN, C.CourseName, C.Nunit, T.Quarter, T.TeacherName
FROM Course C, Teacher T
WHERE T.CourseN = C.CourseN
ORDER BY C.CourseN ASC, C.CourseName DESC;

您不能将
*
放入
FROM
子句中!必须明确定义要使用的表

第二个想法:虽然您可以在
WHERE
子句中定义表之间的关系,但是如果您在
FROM
子句中使用
内部联接定义关系会更好(至少更清晰):

select c.courseN, c. courseName, c.Nunit, t.quarter, t.teacherName
from course as c
     inner join teacher as t on c.counrseN = t.courseN

你提出的问题很愚蠢。首先,你不能“使用*”来做这件事,其次,第二个排序标准(名称)是荒谬的,因为CourseN是主键,因此是唯一的-按顺序排列会使所有后续的标准变得无关EA我想这位老师是一位70岁的终身教师,不再在乎了。很遗憾,这很快就会让人困惑@Bohemian,但第二个原因是我这么做,对吗?是的,它会起作用,但是你应该使用正确的连接语法-你使用的语法在25年前就被弃用了(毫不夸张)@Bohemian当然是这样,这就是我带这位老师上学的原因,他已经上了老派学校,不再在乎了,但我真的需要上课:(谢谢你的提醒,我会试着自己学习新东西。我听说过连接子句,但我们还没有在课堂上讨论过它。如果我们能使用它,@Barranka第二种方法可以。对吗?是的,它是正确的。据我记忆所及,它被称为“隐式连接”“<代码>内部连接< /代码>定义了一个显式连接。此外,考虑薄赫绵关于<代码>命令的注释< <代码>好吧,谢谢@ Barranka,我只想离开,我不想得到分数,因为我没有使用顺序从句,但是谢谢!