标题:数据库问题 高手来
只看楼主
达文西
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-8-4
 问题点数:0 回复次数:6 
数据库问题 高手来
select top 1 * from student where id not in(select top 5 id from student order by id desc)
已知道student表有6行记录


现在返回表的哪行记录

我现在晕了

第一  top到底代表啥  
第2    如果id 是不规则的大小排列呢怎么办
第三 id是不是必须这样  123456  
 或者 654321
搜索更多相关主题的帖子: 数据库 
2007-11-22 22:55
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
得分:0 
文西 这问题你居然发到这来了 在群里不是已经给你讲了吗;P

愛生活 && 愛編程
2007-11-23 00:11
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
得分:0 
top :顶部的意思. top 5 就是返回最前的5条记录
id 只要不是text 、ntext、image 类型的都可以用order by 来排序
id 不一定是123456 或 654321

Repeat  Life=Study;Until (death);
2007-11-23 00:51
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
得分:0 
select top 1 * from student where id not in(select top 5 id from student order by id desc)
已知道student表有6行记录


如果ID为1,2,3,4,5,6
就返回ID为1的记录

low water low live
2007-11-23 07:17
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
得分:0 
select top 1 * from student where id not in(select top 5 id from student order by id desc)
等价于
select top 1* from student  [order by id ASC]

low water low live
2007-11-23 07:22
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
得分:0 
:time:

2007-11-23 08:08
Brian_China
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-11-24
得分:0 
回答
数据库的执行先从括号里的先执行,因为你括号前加了 not  关键字,就是除去符合括号内条件的首选的5行,然后从剩余的部分执行括号外的代码.
2007-11-24 12:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187841-1-1.html




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

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