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 8234 게시물 읽기
No. 8234
[GP]NOT EXISTS (subquery) 지원여부
작성자
강가딘
작성일
2009-07-13 11:06ⓒ
2009-07-13 11:36ⓜ
조회수
7,094

안녕하세요..


제가 처음으로 Greenplum(이하 GP)을 쓰는데요.. reference가 별로 없어서 이렇게 여기에 올립니다.


오라클에서 사용하는 not exists (subquery)는 지원이 안되는 것 같은데..


select   A.COL1

         , A.COL2

from TABLE A

where not exists (select  'ok'

                             from SAMPLE B

                           where A.COL1 = B.COL1)


=> 이렇게 밖에 사용할 수 없나요?


select C.COL1, C.COL2

   from (

            select A.COL1, A.COL2, B.COL1 as COL3

              from TABLE A

             left outer join SAMPLE B

             on               A.COL1 = B.COL2

          ) C

 where  C.COL3 is null


or 


select   A.COL1

         , A.COL2

from TABLE A

where A.COL1 not in (select   B.COL1   from SAMPLE B )


GP 사용하신 분들 또 다른 방법이 있는지 알려주세요.. not exists 가능한지..


감사합니다..~~~

  

이 글에 대한 댓글이 총 2건 있습니다.
그런 경우는 대부분 except 구문으로 처리 하는게 편하지 않을까요?

select *
from table a,
(select COL1 from TABLE except select col1 from SAMPLE) b
where a.col1 = b.col2

이런 쿼리도 가능할 것 같네요.
그런데, 별로 효용성은 없어보입니다.
위에 쿼리들이나, 이 쿼리나 다 고만고만한 비용을 요구 할 것 같은데,
자료량이 많다면, 다른 접근 방법을 고려해보아야할 듯합니다.

여튼 not exists (subquery) 형태의 구문을 현재 지원하고 있지는 않네요.
적어도 PostgreSQL 8.4 버전에서는

--------------------
요기까지는 오전에 쓴 글인데, 아래 답변을 보고 뭔가 찜찜해서 다시 살펴보니,
7.x 버전에서도 not exists 구문을 사용할 수 있었더군요.

Greenplum 기반이 8.2.x 버전이라면 가능할 듯싶습니다. 고의적으로 뺀 것이 아니라면.
혼선을 빚어 죄송합니다.
김상기(ioseph)님이 2009-07-14 10:05에 작성한 댓글입니다.
이 댓글은 2009-07-14 15:22에 마지막으로 수정되었습니다.

안녕하세요. 답변이 늦었습니다.

Greenplum 현재 버전이 3.3.1 입니다. 내부적으로는 Postgresql 8.2.13을 사용하고 있구요.

전체적으로 Subquery 전체가 되지 않는 것은 아닙니다.

제약사항이 아직은 조금 있다는 말이지요. 이 부분은 Postgresql의 버전이 올라가면서 해결 될 것이라 믿고 있습니다.

박춘삼

박춘삼님이 2009-07-14 10:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8237[질문]Acsess의 OLE객체라는 데이타 타입이 PostgreSQL에서는? [1]
이기자
2009-07-14
6590
8236빈값을 0 으로 업데이트는? [2]
souler
2009-07-13
6449
8235데이타를 썼다 지웠다를 많이 하면 느려지는현상 [1]
우후
2009-07-13
6398
8234[GP]NOT EXISTS (subquery) 지원여부 [2]
강가딘
2009-07-13
7094
8227dblink 에서 한글처리 문제 [3]
제임스강
2009-07-12
6551
8202중복처리 질문 두번째! [1]
souler
2009-07-10
6195
8185업데이트는 중복처리 안됩니까? [수정/재질문] [5]
souler
2009-07-09
6700
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다