programing

"주문 기준(SELECT NULL)"은 무엇을 의미합니까?

skycolor 2023. 8. 20. 10:34
반응형

"주문 기준(SELECT NULL)"은 무엇을 의미합니까?

다음 SQL은 Itzik Ben-Gan에서 숫자 표를 생성하는 데 사용됩니다.무엇을 합니까?order by (select null)부분 평균?감사해요.

DECLARE @number_of_numbers INT;
SELECT @number_of_numbers = 100000;

WITH    a AS ( SELECT   1 AS i
               UNION ALL
               SELECT   1
             ),
        b AS ( SELECT   1 AS i
               FROM     a AS x ,
                        a AS y
             ),
        c AS ( SELECT   1 AS i
               FROM     b AS x ,
                        b AS y
             ),
        d AS ( SELECT   1 AS i
               FROM     c AS x ,
                        c AS y
             ),
        e AS ( SELECT   1 AS i
               FROM     d AS x ,
                        d AS y
             ),
        f AS ( SELECT   1 AS i
               FROM     e AS x ,
                        e AS y
             ),
        numbers
          AS ( SELECT TOP ( @number_of_numbers )
                        ROW_NUMBER() OVER ( ORDER BY ( SELECT   NULL
                                                     ) ) AS number
               FROM     f
             )
    SELECT  *
    FROM    numbers;

감사합니다!

ROW_NUMBER에는 다음이 필요합니다.ORDER BY구문적으로 절입니다.그것 없이는 사용할 수 없습니다.SELECT NULL특정 명령을 시행하지 않으면서 오류를 차단하기 위한 해킹입니다.이 경우 주문을 강제할 필요가 없으므로 가장 빠른 옵션은 다음과 같습니다.SELECT NULL.

옵티마이저는 이 트릭을 꿰뚫어 보기 때문에 런타임 비용이 들지 않습니다(이 주장은 실행 계획을 보면 쉽게 확인할 수 있습니다).

언급URL : https://stackoverflow.com/questions/10066819/what-does-order-by-select-null-mean

반응형