전체 글 177

40. Average Population of Each Continent

나라별 인구의 평균을 뽑아보자 문제를 푸는 순서는 1. 먼저 WHERE로 두 데이터를 묶는다. 2. GROUP BY로 나라별로 묶는다. 3. AVG로 인구의 평균을 계산한다. 4. FLOOR로 버림을한다.(TRUNC도 가능) 내가 5일전에 문제를 잘 풀었나 확인해보자 이번 문제는 한번에 풀었다. 한번에 맞추니 기분이 너무 좋다.. 앞으로도 한번의 실행으로 정답을 꺼낼 수 있게 노력해보자

38. Population Census

오랜만에 코딩테스트 문제이다. 요즘도 꾸준히 문제를 풀려고하는데 갑자기 어려워진 느낌이라서 많이 느려졌다. 그래도 계속 도전해보고있으니 언젠가는 풀리지않을까?? 아무튼 지난번에 풀었던 문제를 다 정리하면서 마음을 정리해보자 이번 문제는 두 테이블을 연결해서 AISA 인구의 합을 구하는 문제이다. WHERE XXX=YYY로 연결해보면 될 것이다. 처음 시도에는 틀렸다.. 왜 틀렸는지 생각해보자 asia에서만 뽑아야하는데 전체에서 다 합친 인구를 구했다, where에서 조건을 하나 더 추가해서 다시 해보자 다시 해보니 맞췄다. 문제를 천천히 읽고 조심 또 조심해보자

76. 서브쿼리6(FROM절)

쿼리의 결과로 새로운 결과 집합을 만들어보자 FROM의 서브 쿼리는 IN LINE VIEW라고 하는데 WHERE절에서는 분석함수를 사용할 수 없어 FROM 절에 서브 쿼리문을 사용해서 서브 쿼리문을 먼저 실행시키고, 출력된 결과를 WHERE로 검색한다. 아래 예시에서는 FROM절에서 모든 사원 이름, 월급, 월급 순위를 만들고 이중에서 순위가 1인 사원을 골라내게 된다.

코딩/SQL 2022.06.12

74. 서브쿼리4(EXISTS, NOT EXISTS)

특정 테이블의 데이터가 다른 테이블에도 존재하는지 여부를 확인해보자 EXISTS, NOT EXISTS로 확인이 가능하다. DEPTNO가 10이 emp 테이블에 있는지 검색하고 가장 처음에 있는 값을 읽는다. 그 다음 dept테이블의 deptno인 20이 emp 테이블에도 있는지 확인하고 출력한다. 40은 없어서 출력하지않는다. 없는 것을 출력하는 방법은 NOT EXISTS를 사용해야한다.

코딩/SQL 2022.06.12

72. 다중 행 서브쿼리

71에서는 하나의 값을 서브쿼리에서 불러왔다면 이번엔 여러 행을 한번에 서브쿼리에서 불러와서 활용해보자 직업이 salesman과 같은 봉급을 받는 사람의 이름, 봉급을 출력해보자 이번 쿼리는 내가 스스로 작성해보았다. salesman은 여러명이기 때문에 = 대신에 in으로 표현해야한다. 서브 쿼리 종류를 정리하고 마무리한다. 1. 단일 행 서브 쿼리 : 서브 쿼리에서 메인쿼리로 1개의 값이 반환됨 2. 다중 행 서브 쿼리 : 서브 쿼리에서 메인쿼리로 여러개의 값이 변환됨 3. 다중 컬럼 서브 쿼리 : 서브 쿼리에서 메인 쿼리로 여러 개의 컬럼 값이 변환됨 1 ,2는 진행했고 다중 컬럼 서브 쿼리는 차차 공부해보자

코딩/SQL 2022.06.11