日期:2014-05-18  浏览次数:20496 次

问一个关于SQL SERVER 中与表连接有关的问题,望高手指点!!
查询所有学生已考课程的成绩,并以姓名,课程名,成绩的格式显示!!语句如下!

 SELECT   S.StudentName   As   姓名,C.CourseName   As     课程名,Grade   As   成绩

 FROM   Grade   G            /* 语句1 */

                INNER   JOIN   Student   S   ON   G.StudentID=S.StudentID  /* 语句2 */

                INNER   JOIN   Course   C   ON   G.CourseID=C.CourseID   /* 语句3 */

 我想问问:

(1)语句1中的Grade   G与后面语句2和语句3这两个连接语句是啥关系?

(2)语句2和语句3这两个连接语句所生成的连接表是一张表还是各自生成一张表共两张表呢?

(3)S.StudentName   As   姓名,C.CourseName   As   课程名,Grade   As   成绩 这条语句的值是取的那张表呢?


------解决方案--------------------
INNER JOIN 是内连接
一张表


(3)S.StudentName As 姓名(取自Student 表) ,C.CourseName As 课程名(取自Course 表),Grade As 成绩(取自Grade 表)
------解决方案--------------------
(1)语句1中的Grade G与后面语句2和语句3这两个连接语句是啥关系?
Inner join 内连接,3个表中的数据同时存在的菜可以查出来。

(2)语句2和语句3这两个连接语句所生成的连接表是一张表还是各自生成一张表共两张表呢?

共一张表。
(3)S.StudentName As 姓名,C.CourseName As 课程名,Grade As 成绩 这条语句的值是取的那张表呢?
取自Grade表。