order by 什么是 1, 2 对齐?
order by What are 1, 2 in alignment?
select empno , deptno , sal from emp
order by 1,2
对齐的1、2是什么?
一和二是什么?为什么不写列名?
无论您使用
,它的工作原理都是一样的
order by empno, deptno
或
order by 1, 2
请注意 - 尽管 位置 排序需要较少的输入,但您必须将这样的 order by
子句与每个 select
列列表重新排列同步。我从不使用它(除了 quick & dirty 测试查询)。
查询语言将此定义为快捷方式。
select empno , deptno , sal from emp
order by 1,2
select empno , deptno , sal from emp
order by empno, deptno
意思完全一样。这些数字指的是您 SELECT 中的列号,从 1 开始计数。
如果你有
这样的东西,这个快捷方式就派上用场了
select CONCAT(surname, ', ', givenname) name, empno , deptno , sal from emp
order by 1
因为这样可以节省打字时间。在标准 SQL 中,您必须编写该查询
select CONCAT(surname, ', ', givenname) name, empno , deptno , sal from emp
order by CONCAT(surname, ', ', givenname)
随便用一个。不过要小心;它使您的 ORDER BY 子句取决于 SELECT 子句中项目的顺序。下一个处理您的代码的人可能不希望有这种依赖性。特别是如果下一个人是你。
select empno , deptno , sal from emp
order by 1,2
对齐的1、2是什么?
一和二是什么?为什么不写列名?
无论您使用
,它的工作原理都是一样的order by empno, deptno
或
order by 1, 2
请注意 - 尽管 位置 排序需要较少的输入,但您必须将这样的 order by
子句与每个 select
列列表重新排列同步。我从不使用它(除了 quick & dirty 测试查询)。
查询语言将此定义为快捷方式。
select empno , deptno , sal from emp
order by 1,2
select empno , deptno , sal from emp
order by empno, deptno
意思完全一样。这些数字指的是您 SELECT 中的列号,从 1 开始计数。
如果你有
这样的东西,这个快捷方式就派上用场了select CONCAT(surname, ', ', givenname) name, empno , deptno , sal from emp
order by 1
因为这样可以节省打字时间。在标准 SQL 中,您必须编写该查询
select CONCAT(surname, ', ', givenname) name, empno , deptno , sal from emp
order by CONCAT(surname, ', ', givenname)
随便用一个。不过要小心;它使您的 ORDER BY 子句取决于 SELECT 子句中项目的顺序。下一个处理您的代码的人可能不希望有这种依赖性。特别是如果下一个人是你。