database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9582 게시물 읽기
No. 9582
postgres with 구문 궁금한 점이 있습니다.
작성자
초보dba
작성일
2015-08-10 14:23
조회수
10,401

안녕하세요. Postgres 디비를 사용하다가  with 절 구문 관련해서 궁금한 사항이 있습니다.

아래의 with 구문이 t로 데이터 셋을 만들고 해당 t를 union all로 2번 수행을 했는데,

결과 값이 다르게 나옵니다. 

이말은 해당 with 절이 해당 데이터 셋을 가지고 있는게 아니라,

쿼리를 가지고 있어서 2번 수행했다는 내용인 것 같습니다.

이게 원래 정상인가요? ;; oracle로 테스트 했을 때는 같은 값이 옵니다.

# 쿼리 #

with t as ( select seq,random() as val from generate_series (1,3) seq)
select * from t
union all
select * from t

# 결과 값 #

1|0.104827039409429
2|0.757813568692654
3|0.737501399125904
1|0.141150838229805
2|0.866815359797329
3|0.714934221468866
 

이 글에 대한 댓글이 총 5건 있습니다.

안녕하세요 제가 test했을 경우에는 같은 값이

나오는데 혹시 버전이 어찌 되나여...?

참고로 저는 9.4.1 에서 test하였습니다.

 

postgres@[local]:5432:postgres]
SQL> with t as ( select seq,random() as val from generate_series (1,3) seq)
postgres-# select * from t
postgres-# union all
postgres-# select * from t
postgres-# ;
 seq |        val       
-----+-------------------
   1 | 0.767376065719873
   2 | 0.460576781071723
   3 | 0.770768724381924
   1 | 0.767376065719873
   2 | 0.460576781071723
   3 | 0.770768724381924

김주왕(kimjuking)님이 2015-08-10 14:45에 작성한 댓글입니다.

안녕하세요. 

PostgreSQL 8.2.15 버전을 사용 하고 있습니다.

이게 with 절이 해당 결과 값을 temp에 저장해서 재 사용되는게 아니라,

sql만 재사용해서 전체 쿼리가 간결하게 해주는 용도로만 사용되는 건지 의구심이 드네요;;

초보dba님이 2015-08-10 14:49에 작성한 댓글입니다. Edit

우선 해당되는 사항은 release note를 참조하셔야할듯 하고여

최신버전은 한번만 호출해서 disk aceess를 한번만 수행하는 것이 맞습니다.

버전을 올리시는것이 맞을듯 싶습니다.

김주왕(kimjuking)님이 2015-08-10 14:58에 작성한 댓글입니다.

안녕하세요. 답변감사합니다. 릴리즈 노트 한번 찾아보도록 하겠습니다. ^^

초보dba님이 2015-08-10 15:05에 작성한 댓글입니다. Edit

혹시... 권혁진대리님?

비투즈(btos0207)님이 2015-08-24 10:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9586백업 않고 데이터를 옮기거나 살리는 방법? [1]
박병호
2015-08-21
9701
9584windows build 관련 [1]
build
2015-08-13
9377
9583ODBC로 쿼리에 따른 데이터 가져오기. [1]
비투즈
2015-08-12
9801
9582postgres with 구문 궁금한 점이 있습니다. [5]
초보dba
2015-08-10
10401
9578DB버전 마법의 블록 문제.. [1]
철강새
2015-08-04
9442
9576update 쿼리에서 limit 사용 쿼리 질문드립니다. [1]
lyae
2015-07-29
9057
9575커질때로 커져버린 데이터의 검색속도 향상법 문의드려요. [4]
김현진
2015-07-28
10446
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다