반응형
자격증 준비하면서 내가 이해하기 편하게, 다시 보기 좋게 정리하는 SQLD의 기본 내용 (자격증 상세 내용은 아래)
https://www.dataq.or.kr/www/sub/a_03.do
Where절
SELECT 컬럼1, 컬럼2, ··· FROM 테이블명 WHERE 조건절;
UPDATE 테이블명 SET 컬럼명 = 새로운 데이터 WHERE 조건절;
DELETE FROM 테이블명 WHERE 조건절;
연산자
- 비교 연산자
- = (같음), < (작음), ≤ (작거나 같음), > (큼), ≥(크거나 같음)
- 부정 비교 연산자
- !=(같지 않음), ^= (같지 않음), <>(같지않음), not 컬럼명= (같지않음), not 컬럼명> (크지않음)
- SQL 연산자
- BETWEEN A AND B (A와 B를 포함한 사이)
- LIKE ‘비교 문자열’ (비교 문자열을 포함)
- IN LIST : LIST 중 하나와 일치
- IS NULL : NULL 값
- 부정 SQL 연산자
- NOT BETWEEN A AND B (A와 B를 포함하지 않은 사이가 아님)
- NOT IN LIST : LIST 중 일치하는 것이 없음
- IS NOT NULL : NULL 값이 아님
- 논리 연산자
- AND : 모든 조건이 TRUE면 TRUE 반환
- OR : 하나 이상의 조건이 TRUE면 TRUE 반환
- NOT : TRUE면 FASLE, FALSE면 TRUE 반환
Function
문자 함수
- CHR : 총 128개의 문자를 숫자로 표현될 수 있도록 정의해 놓은 코드를 바탕으로 인수가 매핑되는 문자를 알려주는 함수
- LOWER : 문자열을 소문자로 변환해주는 함수
- UPPER : 문자열을 대문자로 변환해주는 함수
- LTRIM : 특정 문자 명시하지 않을 경우 왼쪽 공백 제거하고 명시할 경우 문자열을 왼쪽부터 한 글자씩 특정 문자와 비교해서 특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춤
- RTRIM : 특정 문자 명시하지 않을 경우 오른쪽 공백 제거하고 명시할 경우 문자열을 오른쪽부터 한 글자씩 특정 문자와 비교해서 특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춤
- TRIM : 옵션이 없을 경우 왼쪽과 오른쪽 공백을 제거, 그렇지 않을 경우 문자열을 위치로 지정된 곳부터 한 글자씩 특정 문자와 비교하여 같으면 제거하고 같지 않으면 멈춤
- SUBSTR : 문자열의 원하는 부분만 잘라서 반환해주는 함수
- LENGTH : 문자열의 길이
- REPLACE : 변경 전 문자열을 찾아 변경 후 문자열로 바꿔주는 함수
숫자 함수
- ABS : 절대값 변환해주는 함수
- SIGN : 수의 부호를 반환해주는 함수, 양수면 1, 음수면 -1, 0이면 0 반환
- ROUND : 수를 지정된 소수점 자릿수까지 반올림하여 반환해주는 함수
- TRUNC : 수를 지정된 소수점 자릿수까지 버림하여 반환하는 함수
- CEIL : 소수점 이하의 수를 올림한 정수를 반환해주는 함수
- FLOOR : 소수점 이하의 수를 버림한 정수를 반환해주는 함수
- MOD : 수의 나머지를 반환하는 함수
날짜 함수
- SYSDATE : 현재의 연, 월, 일, 시, 분, 초를 반환해주는 함수
- EXTRACT : 날짜 데이터에서 특정 단위만 출력해서 반환해주는 함수
- ADD_MONTHS : 날짜 데이터에서 특정 개월 수를 더한 날짜를 반환해주는 함수
변환 함수
- TO_NUMBER : 문자열을 숫자형으로 변환해주는 함수
- TO_CHAR : 수나 날짜형의 데이터를 포맷 형식의 문자형으로 변환해주는 함수
- TO_DATE : 포맷 형식의 문자형의 데이터를 날짜형으로 변환해주는 함수
NULL 관련 함수
- NVL(a, b) : a의 값이 NULL일 경우 b를 반환, NULL이 아닐 경우 a를 반환해주는 함수
- NULLIF(a, b) : a와 b가 같으면 NULL 반환, 같지 않으면 a 반환
- COALESCE(a, b, c, ···) : NULL이 아닌 최초 인수를 반환해주는 함수
CASE 구문
SELECT CASE WHEN COL1 = 'C' THEN SUBSTR(COL2,2,1)
WHEN COL1 = '가' THEN 'C'
WHEN COL1 = '1' THEN '10'
ELSE 'B'
END AS RESULT
FROM SAMPLE :
-> CASE WHEN에 의해 COL1이 '가' 이면 'C', '2'이면 'B', C이면 'B'가 출력
GROUP BY, HAVING 절
GROUP BY
- 데이터를 그룹별로 묶을 수 있도록 해주는 절
- 집계 함수 (계산시 Null인 값을 제외)
- COUNT(*) : 전체 ROW를 count하여 반환
- COUNT : Null인 Row를 제외하고 count하여 반환
- COUNT(DISTINCT 컬럼) : 컬럼값이 Null이 아닌 ROW에서 중복을 제거하고 count하여 반환
- SUM : 합계 반환
- AVG : 평균 반환
- MIN : 최솟값 반환
- MAX : 최댓값 반환
HAVING
- GROUP BY 절을 사용할 때 WHERE 절처럼 사용하는 조건절
- 논리적으로 SELECT 절 전에 수행되므로 SELECT 절에 명시되지 않은 집계 함수로도 조건 부여 가능
ORDER BY 절
- SELECT 문에서 논리적으로 제일 마지막에 수행
- 데이터를 정렬하는 기능
- 따로 명시하지 않으면 데이터는 임의로 출력 (ASC : 오름차순, DESC : 내림차순)
- 정렬 기준이 되는 컬럼에 NULL 데이터가 포함될 경우 데이터베이스 종류에 따라 정렬 위치가 달라짐(Oracle에서 Null은 최대값, SQL server에서는 최솟값으로 취급)
조인 (JOIN)
각기 다른 두 개 이상을 합칠 때 사용
EQUI JOIN
- = 조건으로 조인하는 방식
- 가장 흔하고 많이 사용 됨
SELECT A.COL1, B.COL2
FROM SAMPLE1 A, SAMPLE2 B
WHERE A.COL1 = B.COL3
Non EQUI JOIN
- =이 아닌 다른 조건들을 사용하여 조인하는 방식
SELECT A.COL1, B.COL2
FROM SAMPLE1 A, SAMPLE2 B
WHERE A.COL1 >= B.COL3 AND A.COL1 <= B.COL1
반응형
'자격증 > SQLD' 카테고리의 다른 글
SQLD 정리 - 2과목 SQL 활용 (0) | 2023.03.18 |
---|---|
SQLD 정리 - 2과목 SQL 기본 PART 1 (0) | 2023.03.13 |
SQLD 정리 - 1과목 데이터 모델링과 성능 정리 (0) | 2023.03.12 |
SQLD 정리 - 1과목 데이터 모델링의 이해 정리 (0) | 2023.03.12 |
댓글