| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1010 人关注过本帖
标题:有关SQL的小问题。
只看楼主 加入收藏
觋_拂晓
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-26
收藏
 问题点数:0 回复次数:3 
有关SQL的小问题。
select *
from Students natural join SC natural join Courses
where GRADE<70 and CREDIT>=3;

这个的查询结果只含有一个元组。。


select SNAME
from Students natural join SC natural join Courses
where GRADE<70 and CREDIT>=3;

而为什么这个会有几个重复的捏。。

求指导。
搜索更多相关主题的帖子: natural 
2012-09-26 15:53
别时茫茫
Rank: 2
来 自:安徽蚌埠
等 级:论坛游民
威 望:1
帖 子:29
专家分:72
注 册:2011-10-5
收藏
得分:0 
我感觉可能是oracle在优化查询的过程中,后一个SQL先是做投影操作,然后才是连接操作。前一个应该没有这个过程,因为选出的是全部的列,具体的可以看下数据库概论之中的查询优化,可能会找到答案。
2012-10-22 17:39
windows_DV
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-6
收藏
得分:0 
假设Students,SC里面都有SNAME这一项,那么第二个语句执行的时候,它会查到Students有一个,输出出来。在SC里面查到也有一个SNAME,并且也符合标准,也会输出的
而第一个语句就不会了。
2012-11-06 17:01
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:0 
在sql语句中加一个关键字distance,就可以消除重复了,其实还是你自己的sql语句写的有问题,在select 之后加上。
而且现在写sql语句有谁还是select* 的,把自己要搜索的一个个列出来最好,* 很好资源的

学海无涯#¥%……&*(
2013-07-04 17:05
快速回复:有关SQL的小问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013214 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved