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;