디비 이야기 13. 집계함수 1. 집계함수란? = 컬럼에 기재된 데이터를 사칙연산으로 쉽계 계산하기 위해 만듬 * 문법 SELECT 그룹함수(컬럼명) FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 정렬 2. 종류 1) COUNT = 행 개수를 샌다 - COUNT(*) : NULL값을 포함한 행의 수를 반환 - COUNT(칼럼명) : 값이 NULL을 제외한 나머지를 반환 2) SUM(더.. DB 이야기 2020.03.08
디비 이야기 12. 데이터 값 순위 매기기와 집합함수 1. RANK DENSE_RANK = 공통순위를 출력하되 공통순위만큼 건너뛰어 다음 순위 출력한다 EX) RANK() OVER([PARTITION BY 컬럼명] ORDER BY 컬럼명) -> 그룹으로 묶어서 순위를 매겨야할 내용 : partition 순위를 매길 함수 : order by ex) SELECT team_id, RANK() OVER(PARTITION BY team_id ORDER BY user_win desc) RANK FROM USERS; 2. ROW_NUMBER / ROWNUM = 공통순위 없이 출력한다 / 각 행에 부여하는 일련변호 테이블에서 원하는 만큼 행만 가져오고 싶을시 WHERE 절에서 사용한다 (+ 단일행 연산자) EX) SELECT team_id, ROW_NUMBER() OVE.. DB 이야기 2020.03.07
디비 이야기 11. 날짜 함수 1. 날짜 함수 종류 1) MONTH_BETWEEN = 두 날짜 사이의 개월 수를 계산한다.EX) SELECT MONTH_BETWEEN(SYSDATE, HIREDATE) FROM 테이블 명 2) ADD_MONTH(날짜/컬럼명, 숫자)= 월을 더한다.EX) SELECT ADD_MONTH(HIRE_DATE, 3) FROM 테이블명 3) NEXT_DAY(날짜, '요일' || 숫자)= 돌아오는 요일을 날짜 계산한다 EX) SELECT NEXT_DAY(HIRE_DATE, '금요일') FROM 테이블명 4) LAST_DAY(날짜)= 돌아오는 월의 마지막 날짜를 계산한다 5) STR_TO_DATE(문자열 STR, 문자열 FORMAT)= 형식 문자열이 날짜와 시간 모두 포함시 DATETIME 반환 DATE_F.. DB 이야기 2020.03.07
디비 이야기 10. 숫자타입 함수 1. 숫자타입 함수란? = 숫자를 계산하거나 계산이 끝난 후 추가 가공을 위해 사용한다 [종류] 1) ROUND = 숫자를 반올림한다 EX) SELECT ROUND(컬럼명/숫자, 반올림할 자리수)-> 자리수만큼 남기고 나머지는 반올림한다 2) TRUNC= 숫자를 절삭 및 날짜의 시간을 제거시 사용한다 EX) SELECT TRUNC(컬럼명/숫자, 자리수/날짜,시간) 3) MOD= 나눈 나머지의 값을 반환한다EX) SELECT MOD(분모, 분자) 4) CEIL FLOOR = 숫자를 정수로 올림한다 EX) SELECT CEIL(컬럼명/숫자, ) 5) SIGN= 양수인지 음수인지 0인지 구분해준다 6) POWER = 거듭제곱을 구해준다EX) SELECT POWER(숫자, 거듭제곱할 숫자) 7) SQRT = 제.. DB 이야기 2020.03.06
디비 이야기 9. 대소문자 변환 1. 대소문자 변환 하기 = 대소문자를 구분하여 출력값을 구분할시 유용하다 [종 류](3가지) (문자열, 칼럼명) 1) LOWER : 소문자로 변환 2) UPPER : 대문자로 변환 3) INTCAP : 첫번째만 대분자로 변환 -> SELECT와 FROM 사이에 위치 2. 문자열 자르기 - SUBSTR(문자열||컬럼명, 자를 위치,자를 길이) EX) SELEC.. DB 이야기 2020.03.05
디비 이야기 8. 타입변환 1. 타입변환이란? = 명시적 형변환을 말한다. 2. 타입변환의 종류 1) 명시적 형변환 : 데이터 앞에 타입을 명시해주는 것으로 주로 큰 타입을 작은 타입으로 변환시 사용한다. 작은 것을 큰 타입으로 변환시 데이터 손실이 일어난다! 2) 묵시적 형변환 : 자동으로 타입을 변환해준다 3. DB의 타입변환 1] 문자를 숫자형태로 변환 - INT / FLOAT / NUMBERLIC/ DECIMAL -> NUMBERLIC(전체길이(소수점이하 포함), 소수점이하 길이) : 실수 -> DECIMAL(동일) : 실수 1) CONVERT 문법 : CONVERT(숫자형, 값)EX) CONVERT(INT, '10')-> 결과 : 10 2) TO_NUMBER 문법 : CONVERT와 동일 2] 숫자형 형태 높이기 1) C.. DB 이야기 2020.03.03
디비 이야기 7. 제어문 1.DB의 제어문 종류 = 프로그램을 순차적으로 진행시 내가 원하는 방향으로 제어하고 싶을시 사용 - 중첩이 가능하다! 1) CASE = 값을 조건에 맞게 비교하거나 표현의 값 변환이 필요할시 사용한다 -> (, != 등 연산자 사용가능!) EX) SELECT * FROM 테이블명 WHERE 컬럼명 CASE 원하는 특정 컬럼(없으면 공백처리) WHEN 비교조건 THEN 처리조건 ELSE default 조건 END(필수다!) 2) DECODE = 값에 따라 다양한 조건에 따라서 값이 반환된다. -> ==으로 참, 거짓으로만 판단할 수 있다. (연산자 사용 불가능) 문법 : DECODE(값, IF1, THEN1, IF2, THEN2) EX) SELECT deptno FROM (deptno, 10, good,.. DB 이야기 2020.03.03
디비 이야기 6. 연산자 1. DB의 연산자 종류 (4가지) = WHERE절을 이용하여 자료를 제한하여 필요한 부분만 가져오게 할 수 있다 이유 : 데이턱라 너무 방대하다보면 CPU에 기능에 부하가 걸릴 수 있다. 따라서 쿼리 튜닝에서 제일 첫번째로 검토대상이 된다. [WHERE에 오는 대상들] 1) 칼럼명 2) 비교칼럼(JOIN시) 3) 비교연산자 4) 문자, 숫자, 표현식 1) 기본연산자 (숫자나 날짜를 더하고, 빼고 , 곱하고, 나눈다) - || : 두 문자 / 열을 결합한다. ex) SELECT 'A'||'B' FROM DUAL; -> 결과 : AB 2) 대입 연산자 = 변수에 값을 대입할 때 사용한다 1] '='= 대입기호이지만 사용자의 의도와 다를 수 있다(비교 연산자와 햇갈림)2 ] ':=' = 무조건 대입만 가능한.. DB 이야기 2020.03.02
디비 이야기 5. 데이터 타입 1. 데이터 타입이란?= 다양한 데이터를 식별해주며 자료 마다 필요한 바이트 길이 등을 지정해준다 2. 데이터 타입 종류 (3가지)=> 거의 STIRNG / VARCHAR2 / NUMBER / DECIMAL 를 자주사용함 [ 문자형 데이터 타입 ]1) char = 고정형 길이타입(최대 255)으로 지정된 길이보다 짧을시 공백으로 채워진다2) varchar = 가변형 길이 타입(최대 약6만)으로 지정된 길이보다 짧을시 나머지 공간은 채우지 않는다 1] 가변 문자열이지만 NVAR는 무조건 2바이트2] 예시 [ 숫자형 데이터 타입 ]1) int= 양수,음수 포함하여 4바이트 가능2) bigint= 정수형 데이터 타입(8바이트) / 무제한 수 표현 가능3) float(길이, 소수) - 부동 소수형= 고정 소.. DB 이야기/DB 도메인 설계 2020.03.01
디비 이야기 4. DML (1) DML(DATABASE MANIPULATION ) - 조작어 = 테이블에 있는 데이터의 내용을 변형하는 것 1) INSERT : 테이블에 새로운 레코드(행)을 추가한다 EX) INSERT INTO 테이블명(필드명....) VALUES(데이터 값....) -> 필드명 수 = 데이터 값 수 * 필드명을 쓰지 않아도 정상 작동이 되지만 나중에 자기가 뭘 추가하고 수정했는지 잘 알기위해 기입한다! [INSERT INTO SELECT] = SELECT한 결과를 다른 테이블에 INSERT하는 방법 EX) INSERT INTO 목적지 테이블명 (컬럼명들......) SELECT * / (컬럼명들.....) FROM 출발 테이블명 -> 각각의 테이블명은 달라야 한다! 2) UPDATE : 레코드(행) 내용 수정.. DB 이야기 2020.03.01