2013-02-12 7 views
0

나는 this question에 대한 논리 연산자를 읽거나 ANDSQL Server 또는 우선 순위를 명확히 설명합니까?

그러나 나는이 질문을 확장하고자하는 WHERE의 상태와 조건의 순서로했다.

질문 1 :

IF (CONDITION 1) OR (CONDITION 2)

내가 약 If CONDITION 1 is TRUE, will CONDITION 2 be checked

을 이야기하지만 아니에요 - SQL은 (두 번째 구절 인) condition 2에 따라 행을 선택 할 가능성이 있나요 첫 번째 문구 인 condition 1이 아닌? 예를 들어

:

이 :

columnA  columnB 
    2    2 

select * from table where id=columnA or id=columnB

을 지금, 나는 그것이 처음id=columnB

질문 2를 평가 beucuse 행을 가지고 있다는 것이 가능하다 질문 따 약 Where 절에 관한 것입니다. Join은 어떻습니까? 이러한 역할은 체크 조건 1에 해당하는 경우

select * from Table1 join Table2 on Table1.id=Table2.id or Table1.aa = Table2.aa

  • 2 상태 것이다 적용 되는가?
  • 는 SQL이
+2

나는 "당신은이 행간을 기반으로 행을 만들어 내겠다"는 구별을 이해하지 못합니다 -이 구별이 무엇인지 그리고 왜 중요한지 조금씩 다르게 설명하려고 할 수 있습니까? –

+0

@Damien_The_Unbeliever 제 편집을보세요. –

+1

아직 확실하지 않습니다. 결과 집합에 ** ** 관찰 가능한 차이가없는 것으로 보입니다. 그래서 차이점은 무엇입니까? –

답변

2

I 행을 항복에 대해 묻는 질문 부분을 이해하지 못하는 첫 번째 구절 인 condition 1보다는 (두 번째 구절 인) condition 2에 따라 행을 얻을 것이다 그것을 가능 나는 지금까지 대답 할 수있는 유일한 부분은 그래서 : 조건 1이 TRUE

경우, (2)에 따라 다르다

확인 상태 것이다. 그것은 그렇지 않을 수도 있습니다. SQL 문의 모든 부분에 대해 단락 또는 평가 순서가 보장되지는 않습니다.

관련 문제