使用数字位置来命令sql语句

时间:2015-11-20 17:04:17

标签: sql oracle

我对SQL很新,并且想知道从SQL逻辑角度看哪个关系顺序对列。

例如,

如果我有

SELECT NAME, sal, comm, id
FROM Cust c, Account a
WHERE c.acc_num = a.acc_num
    AND comm > ALL (
        SELECT Avg(sa.comm)
        FROM savings sa
        GROUP BY sa.total
        )
ORDER BY 2, 3

该语句是否实际上分别返回sal和comm的顺序,还是会出错?

1 个答案:

答案 0 :(得分:0)

您需要SELECT sa.total, Avg(sa.comm),但AND comm > ALL无法使用

即使ORDER BY 2, 3有效,最好使用真实姓名,以避免在有人改变列顺序时中断,也可以提高阅读效果。

SELECT NAME, sal, comm, id
FROM Cust c, Account a
WHERE c.acc_num = a.acc_num
    AND comm > ALL (
        SELECT sa.total, Avg(sa.comm)
        FROM savings sa
        GROUP BY sa.total
        )
ORDER BY sal, comm