问一个关于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表。