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
운영게시판
최근게시물
Sybase Q&A 2143 게시물 읽기
No. 2143
update 문에서 where 절의 괄호문제
작성자
초보자
작성일
2008-01-31 16:24
조회수
7,014

업데이트를 하다가 궁금해서 질문올립니다.


다음 쿼리문에서 실행시 1번과 2번의 차이가 있습니까?


test

-------------------------------

     id         |       page   |    status

-------------------------------

     A         |        001    |     0

     B         |        002    |     0

     C         |        003    |     0


1.

UPDATE test set status = '1' 

WHERE id=A OR id=F OR id=Z

AND page in (001);



2.

UPDATE test set status = '1' 

WHERE (id=A OR id=F OR id=Z)

AND page in (001);

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

ASE에서 and와 or는 동일한 연산자 우선순위를 가지고 있습니다
우선순위가 동일한 경우에는 왼쪽에서 오른쪽으로 진행하기 때문에

1번문장은

UPDATE test set status = '1' 
WHERE    ( ( (id=A OR id=F) OR id=Z)
AND (page in (001)) )

로 변경되어 동일한 결과가 나올듯..

DB마다 연산자 우선순위가 다르기때문에(and가 or보다 높은 우선순위를 가지는 경우도 있음)
2번처럼 사용하는게 맞을 듯

영빈~(backfish)님이 2008-02-01 13:46에 작성한 댓글입니다.

답변 감사합니다.

연산자에 우선순위에 대해서는 잘 모르고 있었는데..^^

이번 기회에 좀 더 공부해봐야 할 것 같습니다.

초보자님이 2008-02-04 09:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2147Solaris10 x86 32bit 에 Sybase 설치 질문입니다? [2]
사랑돌넷
2008-02-12
6730
2146특정테이블에 insert된 data들에 대한 로그분석가능 여부 [2]
심정보
2008-02-12
7070
2145sysprocesses 정보중 memusage 항목의 단위에 대하여 [3]
박태규
2008-02-11
6719
2143update 문에서 where 절의 괄호문제 [2]
초보자
2008-01-31
7014
2142[질문]현재 시간과 30분전 시간 사이의 데이터값 구하기 [1]
김범준
2008-01-30
7794
2139업데이트문 서브쿼리 안되나요? DB관리툴 좋은거 있나요?? [2]
나그네
2008-01-29
7618
2138ESQL을 이용한 프로그램 개발 시 문제점 ... [1]
김재호
2008-01-25
8025
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.030초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다