목록SQL (3)
JS' 공부흔적

프로그래머스에서 SQL 문제를 몇 개 풀어보면서 되새겨본 주요 문법을 정리하고자 한다. 이번 글에서는 아래 5가지 문법에 대해 알아보자! LIKE TO_CHAR NOT IS NULL ROWNUM LIKE 부분적으로 일치하는 컬럼을 찾을 때 사용된다. 크게 2가지로 구성된다. _ : 글자 수를 정해준다. % : 글자 수를 정해주지 않는다. 몇 가지 예시를 살펴보자. -- '인천'으로 시작하는 주소 SELECT ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '인천%' -- '송도동'으로 끝나는 주소 SELECT ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '%송도동' -- '서울'을 포함하는 주소 SELECT ADDRESS FROM FO..

우선, 내가 SQL문을 작성하는 환경은 Oracle이다. 따라서 조인의 종류를 명시하지 않고 그냥 JOIN이라고 작성하면 INNER JOIN을 의미한다. 하나 이상의 테이블이 있으면 이를 조인해서 사용한다. 이때 ON에 조건을 작성한다. 프로그래머스의 과일로 만든 아이스크림 고르기 문제를 통해 되새겼다. 결론적으로 아이스크림의 맛을 조회해야 한다. 이때 조건에서 확인해야 하는 필드는 총주문량, 주성분인데 이 두 필드는 각각 다른 테이블에 존재하므로 두 테이블을 조인해야한다. 두 테이블에서 겹치는 필드는 FLAVOR이므로 ON에는 두 테이블의 FLAVOR가 같다는 조건을 설정해야 한다. 이외 나머지 조건을 적용하면 아래와 같다. SELECT F.FLAVOR FROM FIRST_HALF F JOIN ICEC..

SQL에서 손을 놓은지 2년이 넘어버려서 정말 다 까먹었다.. 프로그래머스 SQL 문제들을 풀면서 다시 감을 잡고 있다. ORDER BY 순서를 정렬하는 키워드이다. default 값은 ASC(오름차순)이라서 명시하지 않아도 된다. 내림차순은 DESC를 명시해야 한다. 프로그래머스의 인기있는 아이스크림 문제를 풀며 되새겨본 개념이다. 결론적으로 FIRST_HALF 테이블에서 아이스크림의 맛 FLAVOR를 조회한다. 이때 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하므로 SQL문은 아래와 같다. SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;