240915_TIL

J Lee·2024년 9월 15일

아무리 사소하더라도 배움이 없는 날은 없다.

SQL 문제풀이 복습

문제 링크
case when을 몰라서 못 풀 일은 없겠지만
삼각형이 성립할 조건을 모르면 못 푸는 문제..ㅎㅎ

SELECT x,
       y,
       z,
       CASE
         WHEN x + y > z
              AND x + z > y
              AND y + z > x THEN 'Yes'
         ELSE 'No'
       end AS "triangle"
FROM   Triangle;

문제 링크
sqrt와 power를 알면 그냥 풀 수 있고
아니면 도저히 풀 방법이 없는 문제..^_ㅠ
자주 봤던 함수는 아니지만 그래도 기억은 해 두자.

join을 할 때 x,y를 쌍으로 묶어서
불일치 조건을 줄 수 있다는 점도 기억해 둘 것.

SELECT Round(Sqrt(Power((p2.x-p1.x), 2)
                  + Power((p2.y-p1.y), 2)), 2) AS "shortest"
FROM   point2d p1
       JOIN point2d p2
         ON ( p1.x, p1.y ) <> ( p2.x, p2.y )
ORDER  BY 1
LIMIT  1;

문제 링크
abs 함수와 join, min을 쓰면 간단히 풀 수 있음.

SELECT Min(Abs(p1.x - p2.x)) AS "shortest"
FROM   point p1
       JOIN point p2
         ON p1.x <> p2.x;
profile
기본기를 소홀히 하지 말자

0개의 댓글