Where 절의 If 문

올라프

조건이 존중되는 경우에만 where 절을 추가해야합니다. 예를 들면 다음과 같습니다.

SELECT * FROM car Where <a condition> 
and ( if (car.brand = 'Renault') then car.color = 'red')

내 예에서 : 브랜드가 르노라면 나는 빨간 차만 원하고 르노가없는 경우에만 다른 차를 원한다

PLSQL없이 SQL에서 이와 같은 것을 작성할 수 있습니까?

마크 로트 빌

ifin a where절을 사용할 수 없습니다 (SQL은 알지도 못함 if). 원하는 것을 얻으려면 다음과 같은 것을 사용해야합니다.

where ... and (car.brand = 'Renault' and car.color = 'red' or car.brand <> 'Renault')

이 분리는 "브랜드가 르노라면 색상은 빨간색이어야하며 다른 브랜드에서는 중요하지 않습니다"라고 말합니다 .

당신이-당신이 말했듯이- "르노 레드 만 원하고, 르노가없는 경우에만 다른 차를 원한다"한다면 , 르노 가 없는지 확인해야합니다 :

where ... 
and (car.brand = 'Renault' and car.color = 'red' 
     or not exists (select * from car where car.brand = 'Renault'))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사