
프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 이번 글은 STRING, DATE를 다루는 문제이다. 문제 1 우선, 이 문제는 문제 지침에 오류가 있는 듯하다. 정렬 순서 예시에 나온 데로 정렬하려면 더 복잡한 코드가 필요하다고 생각되나, 그냥 전체 컬럼을 오름차순으로 정렬하는 게 정답이라고 나온다. 그리고 REGEXP 문을 써도 같은 결과가 나오는데 그건 채점 결과에서 틀렸다고 나온다. 그냥 간단하게 이름을 나열하고 이름이 이 중에서 같은 동물을 찾을 수 있도록 IN을 사용하면 정답이 된다. 문제 2 특정 문자를 포함하는 데이터를 조회하는 문제이다. LIKE '%문자%'를 사용한다. '%문자' 또는 '문자%'를 사용하여..

프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 이번 글은 JOIN을 활용하는 문제이다. 문제 1 두 개의 테이블 중 하나의 테이블에는 정보가 있고 다른 하나의 테이블에는 정보가 없는 경우를 찾아서 조회하는 문제이다. 어느 테이블을 첫 번째로 지정하냐에 따라 코드 작성 결과는 달라질 수 있고, LEFT JOIN 혹은 RIGHT JOIN 중 어느 것을 사용해도 조회 결과는 같게 만들 수 있다. 문제 2 오기재로 인해 인과관계가 불명확한 데이터를 찾는 문제이다. JOIN 문은 문제 1과 동일한 원리이고, WHERE 절에서 요구하는 조건에 해당하는 데이터만 조회할 수 있도록 하는 코드를 입력하면 된다. 문제 3 한쪽 테이블에 데..

프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 이번 글은 IS NULL을 다룬다. 문제 1 특정 컬럼에서 NULL값을 가지는 행을 추출하는 문제이다. WHERE 절에 IS NULL을 사용한다. 문제 2 특정 컬럼에 값이 채워진(NULL이 아닌) 행을 조회하는 문제이다. WHERE 절에 IS NOT NULL을 사용한다. 문제 3 특정 컬럼의 값 중에서 NULL 값이 존재하는 경우 다른 값으로 치환하여 출력하는 문제이다. SELECT 절에 IFNULL(컬럼명, '치환할 값')을 사용한다.

프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 이번 글에서는 GROUP BY를 활용하는 문제들을 풀고 정리한다. 문제 1 그룹별로 데이터의 개수를 집계하는 문제이다. SELECT 절에서 COUNT()를 사용하고, GROUP BY를 통해 Cat과 Dog로 그룹을 만들어주면 그룹별로 데이터의 개수를 출력할 수 있다. (마지막에 ORDER BY 지정해주어야 한다. 당연히 알파벳 순서라 Cat -> Dog 순서로 출력되니까 ORDER BY 지정하지 않아도 되는 줄 알았는데 ORDER BY 적어주지 않으면 채점 결과에서 틀렸다고 나온다.) 문제 2 NULL인 값을 제외하고 2번 이상 쓰인 이름이어야 하고, 그 이름에 해당하는 데이..

프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 이번 글에서는 SUM, MAX, MIN을 활용하는 문제를 풀어 정리했다. 문제 1 해당 컬럼 값 중에서 최댓값을 조회하는 문제이다. SELECT 시, MAX(컬럼명)을 사용해서 컬럼의 최댓값을 조회하도록 한다. 문제 2 해당 컬럼 값 중에서 최솟값을 조회하는 문제이다. SELECT 시, MIN(컬럼명)을 사용해서 컬럼의 최솟값을 조회하도록 한다. 문제 3 고유값을 가지는 컬럼을 지정하여 고유값의 개수를 조회하는 문제이다. ANIMAL_ID는 중복 값이 없는 고유값이기 때문에 동물의 마리 수를 세는 데 적합하다고 판단하였으며 SELECT COUNT(컬럼명)을 사용하였다. 문제 ..

프로그래머스 코딩테스트 문제 중에 SQL 고득점 Kit이라는 문제 세트가 있다. 해당 문제들을 직접 풀어서 결과를 정리해 보겠다. 문제 1 ANIMAL_INS 테이블에서 여러 컬럼 조회하기 문제이다. 해당 테이블의 모든 값을 조회하면 되는 것이라 SELECT * 을 사용해도 같은 결과가 나온다. 문제 2 특정 컬럼을 기준으로 역순으로 정렬하여 조회하는 문제이다. ORDER BY DESC 사용. 문제 3 특정 조건에 해당하는 값을 조회하는 문제이다. WHERE 구문을 사용한다. 문제 4 특정 조건에 해당하는 값을 제외한 값만 출력하는 문제이다. WHERE 구문에서 !=을 사용한다. 문제 5 특정 컬럼들만 조회하는 문제이다. ANIMAL_ID 순으로 조회하라는 지침이 있는데 SQL 기본 세팅이 오름차순이라 ..

오라클 SQL ------------------ Subquery (서브쿼리) 서브쿼리란? : Select문 안에 Select문을 사용하는 것 SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_ID = '10'; //--> 소속부서의 ID Subquery (서브쿼리) 사용하여 기술하면 아래와 같다. SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_ID = (SELECT DEPT_ID FROM EMPLOYEE //--> 소속부서의 ID를 Select문을 사용하여 추출 WHERE EMP_NAME = '정주영'); 메인쿼리 : 기본 Select문 서브쿼리 : 기본 Select문 안에 있는 Select문

오라클 SQL --------------------- SET 연산자 (SET Operator) SELECT EMP_NAME JOB_TITLE FROM EMPLOYEE JOIN JOB USING (JOB_ID) WHERE JOB_TITLE IN ('대리', '사원') ORDER BY 2, 1; 여기에서 IN 연산자 (IN Operator) WHERE JOB_TITLE IN ('대리', '사원')은 WHERE JOB_TITLE = '대리' AND JOB_TITLE = '사원' 과 같은 의미임 위 예시에서는 직원테이블에서 직급명이 대리와 사원인 직원의 이름과 직급명을 추출한다.

오라클 SQL ------------------------- SET 연산자에서 Dummy Column(더미칼럼) 사용방법과 사용이유 Dummy Colum = 가짜 칼럼 : 개수 맞추기용 SELECT EMP_NAME JOB_ID HIRE_DATE UNION SELECT EMP_NAM DEPT_ID NULL NULL : 위에 있는 쿼리와 항목 개수가 맞아야 요류가 나지 않기 때문에, 개수를 맞추기 위해 가짜 칼럼(Dummy Colum)인 NULL을 사용한다.

오라클 SQL ----------------------- 1. SET 연산자 (SET Operator) UNION 중복 값은 제거하고 합침 UNION ALL 중복 값 포함하여 합침 INTERSECT 중복 값만 표시 MINUS 1에서 2와 겹치는 값을 제거하고 표시 JOIN 과 UNION의 차이점 : JOIN은 열끼리 합치고, UNION은 행끼리 합친다. 2. SET 연산자에서 ORDER BY 사용방법 (SET Operator, ORDER BY) A 쿼리 UNION B 쿼리 ORDER BY 2, 1; --> 마지막 쿼리에서만 ORDER BY를 기술하여야 한다. A 쿼리에서 별칭이 쓰였고, B 쿼리에서 별칭이 안 쓰였을 때 : ORDER BY에 별칭을 못 씀. --> 해결 방법 : 항목의 순번으로 ORDER..
보던 글 목록 : 브라우저 뒤로 가기 메인 화면 : 좌측 상단 아이콘
🍍 I am becoming AI expert who can develop cool things by coding.