전체 글 178

32. Weather Observation Station 15

이 문제는 블로그 글을 보면서 풀었다.. 제한된 범위에서 가장 큰 LAT_N를 가진 도시의 LONG_W를 찾는 문제이다. 아직 책에서 배우지 않았지만 서브쿼리를 작성해서 풀면 될거같았다. 처음엔 문제를 잘못보고 가장큰 LONG_W을 찾구있었다. 문제를 제대로 이해했으니 서브쿼리를 시도해보자 이건 LAT_N에서 먼저 MAX값을 찾아야하는데 그런 쿼리가 아니었다. 이렇게 틀리기도하고 이젠 너무 복잡하게 쓸 필요가 없다는 것을 느끼고 아래와같이 MAX값을 먼저뽑고 그리고 LONG_W를 찾는 코드를 작성했따. 그런데 반올림을 빼놓았으니 이걸 추가해서 만들어주자 이제 서브쿼리 문제도 어찌어찌 풀게 되었다.

38. 평균값 출력하기(AVG, HAVING)

요약 1. 평균은 AVG 2. HAVING은 WHERE와 같은 역할이 가능하다 3. 함수의 순서를 잘 기억하자 데이터의 평균값을 출력해보자 AVG를 쓰면된다. 결측치는 제외하고 평균을 출력해준다. 여기서 꼭 필요한 것을 배워보자!!!! HAVING 함수이다. 아래 예시와 같이 만들면 그룹함수를 적용할 수 없다 왜냐하면 WHERE 함수가 GROUP BY 함수보다 먼저 실행되기 때문이다. 이때 HAVING 을 사용하면 합계가 3000이상인 곳을 선책할 수 있다. HAVING은 GROUP BY보다 늦게 실행되고, 그룹별로 출력이 가능하다. WHERE를 추가해서 더 구체화된 코드를 작성할 수 있다. 순서를 유의해서 작성해보자

코딩/SQL 2022.06.01

36. 최대값 출력하기(MAX, GROUP BY)

요약 1. 최대값은 MAX 2. GROUP BY는 그룹별로 묶어준다. 3. 출력되는 행의 갯수가 같게 해주자 최대값을 출력해보자 MAX(변수)를 쓰면 간단하게 볼 수 있다. 코딩테스트에서도 이미 해보았던 것이라 빠르게 이해했다. 여기서 추가 함수를 배워보자 GROUP BY로 동일한 행을 묶어주는 함수이다. 아래는 직업별로 최대 봉급을 확인할 수 있다. 별수별로 출력되는 행이 같아야 정확하게 출력된다.

코딩/SQL 2022.06.01

35. IF문(CASE)

요약 1. CASE WHEN - THEN - ELSE - END 로 IF문을 만들 수 있다. 2. DECODE보다 CASE 에 익숙해져보자 지난번엔 DECODE로 IF문을 구현했는데 이번엔 CASE로 구현한다. 이거는 조금 더 알아보기는 쉬워보인다. CASE WHEN 'A' THEN 'B' ELSE 'C' END A면 B가 되고 그 이외엔 C를 한다. 그러나 DECODE보다 코드가 길어서 나는 DECODE가 더 좋아보인다.(공부 더 해보니깐 CASE가 더 기능이 많아보임) 결측치도 찾아서 잘 구분해줄 수 있다. DECODE도 마찬가지로 잘 된다. 그런데 배우다보니깐 CASE가 명확히 좋은 것이 있었다. 그것은 바로 사칙연산이 가능하다는 것!!!!! 이것은 너무 큰 장점이라 이젠 DECODE보단 CASE ..

코딩/SQL 2022.05.31

34. IF문(DECODE)

요약 1. SQL에서 IF문은 DECODE로 표현 2. 문자, 숫자형 모두 가능하다. 이번 단원은 너무 유용한 곳이다. IF문을 DECODE로 구현하는 단원이다. DECODE(A, B, B', C, C',D)라면 A에서 B면 B'실행, C면 C'실행을 하게 된다. B, C 모두 아니라면 D을 출력하게 된다. 이번엔 짝수와 홀수를 구분하는 코드이다. 순서만 잘 본다면 어렵지 않다. 문자열도 가능하다. 아래는 SALESMAN이면 보너스 없음, 다른 사람에겐 5000 보너스이다. 혹시 대문자/소문자가 섞여있을까봐 LOWER를 추가하였다.

코딩/SQL 2022.05.31