본문 바로가기

DBMS/SQL Server

[SQL Server] 랜덤 출력 NEWID 함수

 

NEWID() : UNIQUEIDENTIFIER 형식의 고유 값을 만든다.

 

SELECT NEWID()

를 실행시켜보면 73F48BE7-21F5-4B4C-9491-F348C26F9F85 이러한 값이 랜덤으로

나오는 것을 확인할 수 있다.

 

그리고 ORDER BY 절과 같이 사용하게 되면 순서를 랜덤으로 출력해준다.

 

예를들어 온라인으로 책을 파는 사이트가 있다.

10권의 추천도서가 있고 랜덤하게 3권씩 보여주고 싶을 때 NEWID 함수를 이용해보자.

 

 -- 테이블 생성

 CREATE TABLE dbo.RECOMMEND_BOOKS (

    NUM INT IDENTITY

  , BOOK_NAME VARCHAR(50)

 )

 GO

 

 -- 10권의 추천도서 등록

 INSERT INTO dbo.RECOMMEND_BOOKS

 VALUES ('셜록홈즈'), ('고백'), ('멈추면 비로소 보이는 것들')

      , ('마중물'), ('김미경의 드림 온'), ('배려')

      , ('누가 내 치즈를 옮겼을까?'), ('일본어 천재가 된 홍대리')

      , ('사랑 후에 오는 것들'), ('용의자 X의 헌신')

 GO

 

 -- 추천도서 3권을 랜덤하게 보여주기

 SELECT TOP 3 * FROM dbo.RECOMMEND_BOOKS

 ORDER BY NEWID()

 GO