select from 表的顺序对查询结果影响的问题

SELECT班级.班级号,班级.班级名,学生.姓名AS班长名,;教师.教师姓名AS班主任名;FROM学生管理!教师INNERJOIN学生管理!班级;INNERJOIN学生... SELECT 班级.班级号, 班级.班级名, 学生.姓名 AS 班长名,;
教师.教师姓名 AS 班主任名;
FROM 学生管理!教师 INNER JOIN 学生管理!班级;
INNER JOIN 学生管理!学生 ;
ON 班级.班级号 = 学生.班级号 ;
ON 教师.教师编号 = 班级.班主任号;
ORDER BY 班级.班级号;
INTO TABLE stuclass.dbf

这是我考VFP的一个题目,from 后的表只有按照我上面写的才对,如from 学生 再接 班级表就不对了,我想问为什么要这样排序啊
展开
 我来答
落寞如尘012
2014-09-03 · TA获得超过194个赞
知道小有建树答主
回答量:68
采纳率:0%
帮助的人:71万
展开全部

sql里面的表连接问题十分驱动表和匹配表的。

驱动表就是主要数据的来源表,我自己理解为sql中所有表的老大。

left join 和 inner join 都是以from后面出现的第一个

表名为主表的,而right join 就是以 right join 后面出现的第一个表名为驱动表的,

所以顺序的改变,会引发查询出的数据不同的。

 

举个例子:如果驱动表有10条数据,匹配表有20条数据,但结果最多条数为10条,也就是说根据你写的连接条件,去匹配表里面一条一条的匹配,成功一条,结果集就会有一条数据,直至匹配完为止。

左边驱动表,右边匹配表

所以 结果就只有1,2,3,4,5了,楼主明白了?纯手敲画图的好辛苦

追问

十分感谢您的回答,您说的意思我明白,但我这个题是inner join内联,from后面接的表顺序不同应该不影响结果的啊,而且这个题怎么确定哪个是主表,题目也没有提示。我把题截图出来,麻烦您再帮我看看,这是个查询设计器,答案说一定要按顺序添加表,但没说为什么是这样的顺序,我怎么也不明白这个顺序。万分感谢您了!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式