전체 글 83

[프로그래머스] 동명 동물 수 찾기(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물 이름 중 2번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회 - 이 때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회 동물 이름 : 컬럼 NAME 2번 이상 : 조건 WHERE 쓰인 횟수 : 갯수 조회 COUNT() 이름이 없는 동물은 제외 : 필드 유무 확인 IS NOT NULL 결과는 이름 순 : 정렬 ORDER BY Solution ① 서브쿼리(4~7줄) - SELECT문을 이용하여 ANIMAL_INS의 NAME과 갯수 COUNT()를 조회해준다. - 이 때 그룹화 GROUP BY를 이용하면 동물의 이름별 갯수가 몇개인지 집계할 수 있다. ② 전체 쿼리(2~11줄) - 서브쿼리에서 가져온 데이터 중 2번 이상 집..

[Oracle] 오라클 합계 조회 SUM() 함수

SUM() 함수 - SUM() 함수는 테이블에 조회되는 값의 합계를 구할 수 있습니다. SUM() 문법 SELECT SUM(컬럼) FROM 테이블; SUM() 함수 테스트(https://livesql.oracle.com/) ※ 테스트 데이터 - 2022년도 1월 1일부터 12월 31일까지 365개의 데이터가 있는 테이블을 사용하였음 - 데이터 CREATE문과 INSERT문 : https://javabuilders.tistory.com/24 1) 합계 조회 - GROUP_TEST의 DAY의 모든 값들의 합계 : 5738 2) 데이터의 조건(WHERE)을 넣은 합계 조회 - GROUP_TEST 테이블의 조건(WHERE)을 추가하여 1월부터 3월의 데이터중 날짜들의 합계을 조회

[프로그래머스] 최솟값 구하기(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 입양 시간이 제일 먼저 들어온 동물의 입양 시간을 조회해야 합니다. 입양 시간 : 컬럼 DATETIME 제일 먼저 : 최솟값 MIN() 또는 순번 ROWNUM Solution_1 - SELECT문을 이용하여 ANIMAL_INS 테이블의 필요한 컬럼들을 조회합니다. - MIN()을 사용하여 DATETIME의 최솟값을 가져와주면 제일 먼저 들어온 동물의 입양 시간을 알 수 있습니다. Solution_2 ① 서브쿼리 - SELECT문을 이용하여 ANIMAL_INS의 DATETIME을 가져와줍니다. - ORDER BY절을 사용하여 ANIMAL_INS 테이블을 DATETIME의 순서대로 정렬시켜줍니다. ② 본 쿼리 - 서브쿼리의 데이터를 ROWNUM을 사용하..

[프로그래머스] 루시와 엘라 찾기(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물의 아이디와 이름, 성별 및 중성화 여부를 조회해야 합니다. - 이 때 결과는 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물들을 조회합니다. 동물의 아이디 : 컬럼 ANIMAL_ID 이름 : 컬럼 NAME 성별 및 중성화 여부 : 컬럼 SEX_UPON_INTAKE ~인 동물들 : WHERE 컬럼 IN() Solution - SELECT문을 이용하여 ANIMAL_INS 테이블의 필요한 컬럼들을 조회합니다. - IN()을 사용하여 이름의 맞는 데이터들을 조회해줍니다. 출처 https://programmers.co.kr/learn/courses/30/lessons/59046 코딩테스트 연습 - 루시와 엘라 찾..

[프로그래머스] 고양이와 개는 몇 마리 있을까(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물의 타입과 동물의 종류별 동물의 마리수를 조회해야 합니다. - 이 때 결과는 개와 고양이중 고양이가 먼저 조회되어야 합니다. 동물의 타입 : 컬럼 ANIMAL_TYPE 동물의 타입별 : 그룹화 GROUP BY 마리수 : 갯수 함수 COUNT() 먼저 : 정렬 ORDER BY Solution - SELECT문을 이용하여 ANIMAL_INS를 조회합니다. - COUNT()를 사용하여 갯수를 불러와주고, GROUP BY를 이용하여 ANIMAL_TYPE별로 그룹화해줍니다. - ORDER BY절을 사용하여 필요한 순서대로 데이터를 정렬시킵니다. 출처 https://programmers.co.kr/learn/courses/30/lessons/59040 코딩..

[프로그래머스] 상위 n개 레코드(Oracle, Lv1)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 이름(NAME)을 조회해야 합니다. - 이 때 결과는 가장 보호소에 먼저 들어온 동물 한마리만의 이름이 나와야합니다. 들어온 날짜 : 컬럼 DATETIME 먼저 들어온 : 순서 정렬 ORDER BY 가장 먼저 들어온 한마리 : 순번 ROWNUM Solution_1 ① 서브쿼리 - SELECT문을 이용하여 ANIMAL_INS를 조회합니다. - ORDER BY절을 이용하여 동물들의 순서를 입양순서(DATETIME)순으로 정렬하여줍니다. - 별칭(AS)은 아무거나 해도 상관이 없으므로 ANIMAL로 해주었습니다. ② 본 쿼리 - SELECT절을 이용하여 ANIMAL의 데이터 중 NAME 컬럼만을 조회합니다. - 순번을 정해주는 ROWNUM을 조건(WHER..

[Oracle] 오라클 최댓값, 최솟값 조회 MAX()와 MIN() 함수

MAX(), MIN() 함수 - MAX()와 MIN() 함수는 테이블에 조회되는 값의 최대값과 최소값을 구한다. MAX(), MIN() 문법 SELECT MAX(컬럼), MIN(컬럼) FROM 테이블; MAX(), MIN() 함수 테스트(https://livesql.oracle.com/) ※ 테스트 데이터 - 2022년도 1월 1일부터 12월 31일까지 365개의 데이터가 있는 테이블을 사용하였음 - 데이터 CREATE문과 INSERT문 : https://javabuilders.tistory.com/24 1) 최댓값과 최솟값 조회 - GROUP_TEST의 ID 최댓값 조회 : 365 - GROUP_TEST의 ID 최솟값 조회 : 1 2) 데이터의 조건(WHERE)을 넣은 최댓값, 최솟값 조회 - GROU..

[프로그래머스] 여러 기준으로 정렬하기(Oracle, Lv1)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 아이디(ANIMAL_ID)와 이름(NAME), 보호시작일(DATETIME)을 조회해야 합니다. - 이 때 결과는 동물의 이름(NAME)의 순서대로 정렬되어야 하며, 만약 이름이 같다면 보호 시작일(DATETIME)이 나중에 시작한 동물을 먼저 보여줘야 합니다. Solution - SELECT문을 이용하여 ANIMAL_INS를 조회합니다. - 그 후 동물의 아이디와 이름, 보호 시작일 조회를 위해 컬럼은 ANIMAL_ID, NAME, DATETIME 만을 가져와줍니다. - ORDER BY절을 사용하여 이름을 순서대로 정렬(ASC)해주고, 같은 이름을 가진 동물들은 나중에 보호 시작한 동물을 먼저 조회하기 위해 역순서대로 정렬(DESC)해준다. + 이름..

[Oracle] 오라클 갯수 조회 COUNT() 함수

COUNT() 함수 - COUNT는 테이블을 조회할 때 데이터의 수가 얼마나 있는지 조회할 때 사용한다. COUNT() 문법 SELECT COUNT(컬럼) FROM 테이블; COUNT() 함수 테스트(https://livesql.oracle.com/) ※ 테스트 데이터 - 2022년도 1월 1일부터 12월 31일까지 365개의 데이터가 있는 테이블을 사용하였음 - 데이터 CREATE문과 INSERT문 : https://javabuilders.tistory.com/24 1) 데이터의 전체 갯수 조회 - GROUP_TEST 테이블의 전체 갯수 조회 : 365개 2) 데이터의 조건(WHERE)을 넣은 갯수 조회 - GROUP_TEST 테이블의 1월의 갯수 조회 : 31개 3) 특정 컬럼의 종류의 갯수 조회 -..