본문 바로가기

Problem Solving/SQL6

SQL 고득점 KIT - String, Date 문제 출처 : https://programmers.co.kr/learn/courses/30/parts/17047 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 루시와 엘라 찾기 - OR 대신 IN 연산자 사용하여 간단히 처리 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORDER BY ANIMAL_ID 2. 이름에 el이 들어가는 동물 찾기 SELECT ANIMAL_ID,.. 2021. 8. 24.
SQL 고득점 KIT - JOIN 문제 출처 : https://programmers.co.kr/learn/courses/30/parts/17046 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 없어진 기록 찾기 OUTER JOIN을 사용하는 이유 : 기준 테이블의 데이터가 모두 누락없이 조회되고, 대상 테이블에 데이터가 있을 경우 해당 컬럼의 값을 가져오기 위해 오라클 조인 : (+) 사용 ANSI JOIN : LEFT OUTER JOIN ON~, RIGHT OUTER JOIN ON~ - LEFT OUTER JOIN ANIMAL_OUTS 테이블에는 있는데, ANIMAL_INS 테이블.. 2021. 8. 24.
SQL 고득점 KIT - IS NULL 문제 출처 : https://programmers.co.kr/learn/courses/30/parts/17045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 2. 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID 3. NULL 처리하기 1) 오라클 SELECT ANIMAL_TYPE, NVL(NAME, 'No name') .. 2021. 8. 23.
SQL 고득점 KIT - GROUP BY 1. 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE - GROUP BY는 특정 컬럼을 기준으로 집계를 내는 데 사용된다. 컬럼의 값이 같은 것끼리 그룹을 지어줌 -> 중복이 제거된다. ** GROUP BY에 사용될 컬럼은 SELECT문에 사용된 컬럼이어야 한다 !!!!!! 2. 동명 동물 수 찾기 SELECT NAME, COUNT(NAME) COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 -- COUNT(*)를 해서는 안됨 (GROUP BY 절에서 사용된 컬럼만 사용가능) O.. 2021. 8. 23.
SQL 고득점 KIT - SUM, MAX, MIN 1. 최댓값 구하기 SELECT DATETIME AS 시간 FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; 2. 최솟값 구하기 SELECT DATETIME AS 시간 FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1; -- 혹시몰라 오라클 코드도 :) SELECT DATETIME AS 시간 FROM ( SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME ) WHERE ROWNUM = 1 3. 동물 수 구하기 SELECT COUNT(*) count FROM ANIMAL_INS 4. 중복 제거하기 SELECT COUNT(DISTINCT NAME) AS COUNT FROM ANIMAL_INS - COUNT(*).. 2021. 8. 22.
SQL 고득점 KIT - SELECT 1. 모든 레코드 조회하기 SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; -- 이름순 정렬 2. 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 3. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID; 4. 어린 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'A.. 2021. 8. 22.