SQL Server创建视图时SQL语句怎么写?
请问下上面那个SQL语句from后面是用逗号,而下面那个SQL语句from后面用join,有什么区别啊?还有下面那个SQL语句不能把三个表都写到from后面吗?像这样fr...
请问下 上面那个SQL语句 from后面是用逗号,而下面那个SQL语句from后面用join,有什么区别啊?还有下面那个SQL语句不能把三个表都写到from后面吗?像这样from 学生信息a ,学生信息b,辅导员信息c on a.所属班级=b.班级编号,c. 辅导员编号=b.辅导员?
展开
4个回答
展开全部
1 两种语句查询实现的功能是相同的,不同的是在数据库执行时生成的语法解析树的结构不同,用JOIN的直接生成的是自然连接,而不用JOIN的生成的是笛卡儿集,但是数据库通过逻辑查询优化生成的执行计划是相同的.
2 不能把三个表都写到FROM后面再用ON,因为JOIN这种自然连接是二元操作符,只能连接两个表,这个是语法的规定.如果连起来写只能是
from 学生信息a ,学生信息b,辅导员信息c where a.所属班级=b.班级编号 and c. 辅导员编号=b.辅导员
2 不能把三个表都写到FROM后面再用ON,因为JOIN这种自然连接是二元操作符,只能连接两个表,这个是语法的规定.如果连起来写只能是
from 学生信息a ,学生信息b,辅导员信息c where a.所属班级=b.班级编号 and c. 辅导员编号=b.辅导员
展开全部
2种写法有区别
上面的相当于Inner join
三个表可以写在From后面,同样的效果也是Inner Join
上面的相当于Inner join
三个表可以写在From后面,同样的效果也是Inner Join
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 2种写法都可以
2. 3个表的话,可以写成from 学生信息 a ,学生信息 b,辅导员信息 c where a.所属班级=b.班级编号 and c. 辅导员编号=b.辅导员
2. 3个表的话,可以写成from 学生信息 a ,学生信息 b,辅导员信息 c where a.所属班级=b.班级编号 and c. 辅导员编号=b.辅导员
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这只是两种写法join也是个联的语句,有好多种
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询