Order By如何在此查询中工作

时间:2014-03-25 05:59:55

标签: sql oracle sql-order-by

SELECT * FROM TT 
ORDER BY (SELECT AGE 
          FROM TTT 
          WHERE NAME='TANDEL'
          );

结果是,

JOHN    2
PRAVEEN 2
KUMAR   2
RAKESH  2
WASIB   2
GURUNG  2
DAYALAN 5
DEEPAK  2
TANDEL  5
RAGHU   5
GIGA    5
DEEPA   5
DEVARAJ 2

注意:表TT和TTT都有相同的数据。

3 个答案:

答案 0 :(得分:4)

很简单,它不起作用。 Order By需要一列或多列,如果随机数据传递给它而不是列名,它什么也不做。

答案 1 :(得分:1)

排序依据需要一列或一些列

ORDER BY CLAUSE

SELECT * 
FROM TT 
ORDER BY colname

答案 2 :(得分:0)

在order by子句中,我们可以添加两件事:

  • 列名

    Select * from TTT order by age;
    
  • 要过滤的Coulmn号码

    Select * from TTT order by 2;//if age is the second column in the table 
                or
    Select name,age from TTT order by 2; // this will order by age
    

在以下情况下,内部查询

  SELECT AGE 
      FROM TTT 
      WHERE NAME='TANDEL'

将返回5

和父查询

  SELECT * FROM TT 
   ORDER BY 5