먼저, 익숙치 않은 단어들이 어려웠다.
CASE~WHEN~THEN 을 사용할 것인데 이게 코딩에서 swith문과 유사면이 있다. 첫번째 CASE조건에 걸린것에 대해서는 다음조건에 일치하더라도 무시하게 된다.
예를 들면, 첫번째 CASE에 a = b or b = c or a = c 를 Isosceles라고 하고, 그리고 다음 CASE에 a = b and b = c 를 Equilateral이라고 한다면 첫째 CASE가 두번 째 CASE를 포함하기 때문에 Equilateral은 나오지 않게 될것이다.
결론은 순서를 잘 지켜야 한다. :)
select CASE
WHEN A = B AND B = C THEN 'Equilateral'
WHEN A + B <= C OR B + C <= A OR A + C <= B THEN 'Not A Triangle'
WHEN A = B OR B = C OR A = C THEN 'Isosceles'
ELSE 'Scalene'
END
from triangles
;