전체 글 83

[Oracle] 오라클 문자열 자르기 SUBSTR()

SUBSTR() - SUBSTR() 함수는 문자에서 특정 위치의 문자열을 추출하여 출력할 때 사용합니다. SUBSTR() 문법 SELECT SUBSTR(컬럼, 숫자1, 숫자2) FROM 테이블; - SUBSTR()의 숫자1은 문자를 추출할 시작 위치 번호입니다. - SUBSTR()의 숫자2는 시작 위치로부터 가져올 갯수입니다. SUBSTR() 테스트(https://livesql.oracle.com/) 1) 기본적인 SUBSTR() - SUBSTR(컬럼, 2, 2) 쿼리는 컬럼값의 두 번째 철자부터 두 개의 철자를 추출하여 출력합니다. 2) -값이 들어간 SUBSTR() - SUBSTR(컬럼, -3, 2) 쿼리는 컬럼값의 끝에서부터 3번째 철자부터 두 개의 철자를 추출하여 출력합니다. - 글자의 마지막부터..

[Oracle] 오라클 대소문자 변환 함수 UPPER(), LOWER(), INITCAP()

대소문자 변환 함수 UPPER(), LOWER(), INITCAP() - UPPER()는 함수 안의 글자를 대문자로 출력해줍니다. - LOWER()는 함수 안의 글자를 소문자로 출력해줍니다. - INITCAP()은 첫 번째 글자만 대문자로 출력하고 나머지 글자는 소문자로 출력해줍니다. UPPER(), LOWER(), INITCAP() 문법 SELECT UPPER(컬럼1), LOWER(컬럼2), INITCAP(컬럼3) FROM 테이블; - 대소문자 변환 함수는 조건절 WHERE에 사용하여 테이블 내 특정 문자 데이터를 검색하고자 할 때 데이터가 대문자인지 소문자인지 확실하지 않을 때 정확한 데이터 검색을 위해 사용할 수 있습니다. UPPER(), LOWER(), INITCAP() 테스트(https://li..

[Oracle] 오라클 문자열 붙이기 CONCAT()과 연결 연산자 ||

CONCAT()과 연결 연산자 || - CONCAT()과 연결 연산자 || 는 둘다 컬럼과 컬럼을 서로 연결하여 출력할 수 있도록 해줍니다. CONCAT()과 연결연산자 || 문법 SELECT CONCAT(컬럼1, 컬럼2), 컬럼1 || 컬럼2 FROM 테이블; - 연결하고자 하는 컬럼을 CONCAT() 안에 넣거나, 컬럼과 컬럼 사이의 || 을 사용하여 줍니다. CONCAT()과 연결연산자 || 테스트(https://livesql.oracle.com/) 1) CONCAT() 사용방법 - CONCAT()은 두 개의 컬럼만 이을 수 있기 때문에 여러 컬럼을 합쳐서 출력하고 싶다면 CONCAT()을 한번 더 사용해야 합니다. - 컬럼 별칭 AS는 맨 마지막에 사용해야 합니다. 2) 연결 연산자 || 사용 -..

[프로그래머스] NULL 처리하기(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물의 종, 이름, 성별을 조회합니다. - 이때 결과는 시간대 순으로 조회합니다. - 동물의 이름이 없을 경우 "NO name"으로 표시합니다. 동물의 종, 이름, 성별 조회 : 컬럼 ANIMAL_TYPE, NAME, SEX_UPON_INTAKE 결과는 시간대 순 : 정렬 ORDER BY ~이 없을 경우(NULL) ~으로 대체 : 공백 치환 NVL() Solution - ANIMAL_INS 테이블의 타입(ANIMAL_TYPE), 이름(NAME), 성별(SEX_UPON_INTAKE) 컬럼을 조회해줍니다. - ORDER BY를 사용해 ID순으로 정렬시켜 줍니다. - 공백 치환해주는 NVL()을 사용하여, NAME이 NULL 즉 공백일 경우 'NO nam..

[Oracle] 오라클 컬럼 별칭 AS 사용법

AS(Alias) - AS는 컬럼에 임시 이름 즉, 별칭을 주어 출력되는 컬럼명을 변경하고자 할 때 사용됩니다. AS 문법 SELECT 컬럼1 AS 별칭명 컬럼2 AS "Column Alias" FROM 테이블; - 컬럼 다음에 AS를 사용하고 출력하고 싶은 컬럼명을 기술한다. ※ AS 사용시 쌍따옴표("")를 사용하는 경우 1) 대소문자를 구분하여 출력할 때 2) 공백문자를 출력할 때 3) 특수문자를 출력할 때 AS 테스트(https://livesql.oracle.com/) 1) AS 사용 전 2) AS 사용 후 - 그룹 함수로 인해 길게 나온 컬럼명을 AS를 사용하면 보다 보기 쉽게 바꿀 수 있다.

[프로그래머스] 입양 시각 구하기(1) (Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_OUTS 테이블의 입양시간과 입양 시간대별 건 수를 알아야 합니다. - 입양시간은 09:00부터 19:59까지 입니다. - 이때 결과는 시간대 순으로 조회합니다. 입양시간과 건 수 조회 : 컬럼 HOUR, COUNT 09:00부터 19:59까지 : 범위 BETWEEN 결과는 시간대 순 : 정렬 ORDER BY Solution 1) 서브쿼리 : 5~9 line - SELECT문을 이용하여 ANIMAL_OUTS의 DATETIME을 조회합니다. 이때 TO_CHAR()을 사용하여 날짜의 형태를 원하는 CHAR 타입으로 변환할 수 있습니다. 'HH24'를 기재하면 24시간제로 변환합니다. - 별칭 지정 AS을 사용하여 복잡한 필드명을 HOUR로 지정해줍니다. - 그 후 조건..

[Oracle] 오라클 그룹화 GROUP BY절

GROUP BY - GROUP BY절은 그룹 함수(SUM, MAX, MIN, COUNT, AVG)를 사용할 때 같은 데이터끼리 그룹을 만들 때 사용합니다. GROUP BY 문법 SELECT 컬럼1, COUNT(컬럼2) FROM 테이블 GROUP BY 컬럼1; GROUP BY 테스트(https://livesql.oracle.com/) ※ 테스트 데이터 - 2022년도 1월 1일부터 12월 31일까지 365개의 데이터가 있는 테이블을 사용하였음 - 데이터 CREATE문과 INSERT문 : https://javabuilders.tistory.com/24 1) GROUP BY를 사용하여 월별 일의 갯수(COUNT) 조회 +갯수 함수 COUNT() 포스팅 : https://javabuilders.tistory.c..

[프로그래머스] 이름에 el이 들어가는 동물 찾기(Oracle, Lv2)

테이블 구조 문제 설명 - ANIMAL_INS 테이블의 동물 이름중 'el'이 들어간 개의 아이디와 이름을 조회해야 합니다. - 이름은 대소문자를 구분하지 않습니다. - 이때 결과는 이름 순으로 조회합니다. 'el'이 들어간 : 조건 WHERE 개 : 조건 WHERE 아이디와 이름 조회 : 컬럼 ANIMAL_ID, NAME 대소문자 : 대문자 변환 UPPER(), 소문자 변환 LOWER() 결과는 이름 순 : 정렬 ORDER BY Solution_1 - ANIMAL_INS 테이블의 컬럼 ANIMAL_ID와 NAME을 조회합니다. - 조건절 WHERE을 사용하여 동물의 타입(ANIMAL_TYPE)을 '개(Dog)'를 조회해줍니다. - 대문자 변환 함수 UPPER()를 사용하여 동물의 모든 이름을 대문자로 ..

[Oracle] 오라클 평균 조회 AVG() 함수

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