SELECT top 5 *
FROM 表2 INNER JOIN 表1 ON 表2.id = 表1.id 
查询只出现前面5条,(当然数据库不只5条)
SELECT top 5 *
FROM 表2 INNER JOIN 表1 ON 表2.id = 表1.id 
order by 表1.id 
这个时候就查询的不只5条了,就是全选出来了
请问是怎么回事情?

解决方案 »

  1.   

    order by是按照一定的顺序排列查询的结果,你后面的表1.id不正确,换一种明确的。
    刚才看msdn上写的,好象order by后面的要是空的哈,我给你贴出来看看SELECT rfx-field-list FROM table-name [WHERE m_strFilter] 
           [ORDER BY m_strSort]完整的 SELECT 语句,具有 WHERE 和/或 ORDER BY 子句 如所传递的语句。m_strFilter 和/或 m_strSort 必须保持为空,否则将产生两个筛选器和/或排序语句。
      

  2.   

    我在SQL查询中试了一下,我看好象是如果有ORDER BY的话,那个WHERE子句就不取作用了,不过还是显示5条记录(最前面的5条)啊,...