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

SQL 发现一条语句错误,怎么改正呢
select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade from Student left out join SC on (Student.Sno=SC.Sno);


消息 155,级别 15,状态 1,第 1 行
'out' 不是可以识别的 join 选项。


我照着书上打的,可能是哪里不对吧,之前也在书上发现有错误的地方。多多指教哦~

------解决方案--------------------
select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade from Student left outer join SC on (Student.Sno=SC.Sno);
------解决方案--------------------
这本书看来真的out了,哈哈,忒坑爹啦

外连接 是 outer join
内连接是 inner join
左连接 left join
右连接 right join
交叉连接 cross join
------解决方案--------------------
left outer join =left join 求笛卡尔积,筛选,添加外部行
------解决方案--------------------
的确,outer 是外联结,一般情况下没必要写,甚至不要写为好。要区分建议写和不建议写的理由,这里不建议写也出至于以下几个方面:
1、容易写错。
2、如果你不是在存储过程里面写,直接发送SQL的话,网络带宽就需要考虑
3、文件存放的大小也会收影响。

请注意,我不是针对outer来说的,是针对有没有必要写关键字说的。另外,联机丛书才是权威,可以先去找联机丛书。