오늘은 SQLD 시험을 보고 왔다. 조금만 준비 기간이 더 있었으면 완벽히 합격했을 텐데 면접 준비하느라 기출을 많이 못 본게 약간 아쉽다. 그래도 준비 해간 만큼은 풀어서 다행이다.
데이터를 일정한 형태로 저장해놓은 것. DBMS를 이용해 효율적인 데이터 관리와 손상 복구 가능
정규화를 통해 이상현상 및 중복 데이터 제거
동시성 관리와 병행제어를 통해 데이터 동시 조작 가능
집합 연산
합집합(Union), 차집합(Difference), 교집합(Intersection), 곱집합(Cartesian Product):
관계 연산
선택연산(Selection), 투영연산(Projection), 결합연산(Join), 나누기연산(Division)
Structured Query Language. RDB에서 사용하는 언어.
데이터 조회 및 신규 데이터 입력/수정/삭제 가능
SELECT 컬럼명 FROM 테이블명 WHERE 조건절;
비교연산자
=, >, >=, <, <=
부정비교연산자
!=, ^=, <>
SQL 연산자
BETWEEN A AND B : A와 B 사잇값
IN (리스트) : 리스트 내의 값
LIKE ‘문자열’ : 문자열의 형태와 일치하는 값
IS NULL : NULL은 등호로 판단 불가 어떤 상황에서도
NOT BETWEEN A AND B, NOT IN (리스트), IS NOT NULL
와일드카드
%
(퍼센트)는 0개 이상의 문자
_
(언더바)는 1개의 단일 문자
논리 연산자
AND, OR, NOT
우선순위 : 부정 > 비교 > 논리
ROWNUM : Oracle에서 사용. SQL 처리결과 집합의 각 행에 임시로 부여되는 번호
조건절 내에서 행의 개수를 제한함
TOP : SQL Server에서 사용. 출력행 제한 함수. TOP (N)
으로 N개 행 출력. 개수 대신 비율로 제한 가능.
ORDER BY절이 없으면 ROWNUM과 TOP의 기능은 같다.
SELECT절, WHERE절, ORDER BY절에 사용 가능. 각 행에 개별적으로 적용
여러 인자를 입력해도 결과를 단 하나만 출력
문자형 함수
LOWER, UPPER, LENGTH
CONCAT : 문자열 결합
SUBSTR : 문자열 부분 추출
LTRIM, RTRIM, TRIM : 왼쪽 공백 제거, 오른쪽 공백 제거, 양쪽 공백 제거
ASCII : 아스키 코드값 출력
숫자형 함수
ABS, SIGN : 절대값, 부호 (1, 0, -1 중 출력)
MOD : 나머지, 연산자 ’%’로 대체 가능함
ROUND, CEIL, FLOOR : 반올림, 올림, 버림 (‘함수(E,N)’으로 소수점 이후 N번째 자리까지 출력)
TRUNC : 숫자형 부분 추출
날짜형 함수
SYSDATE : 현재 시각 출력 (년, 월, 일, 시, 분, 초)
EXTRACT : 날짜형 부분 추출 SQL>> SELECT EXTRACT(부분 FROM SYSDATE) FROM DUAL;
±숫자, ±숫자/24 : 일자 연산, 시간 연산
NEXT_DAY : 지정된 요일 첫 날짜 출력
변환형 함수
TO_NUMBER, TO_CHAR, TO_DATE (Oracle): 문자열을 숫자로, 숫자나 날짜를 문자열로, 문자열을 날짜로
CAST, CONVERT (SQL Server)
NULL 관련 함수
NVL(칼럼,값) : NULL 값 변환
NVL2(칼럼,값,값) : NULL이면 앞의 값 아니면 뒤의 값 출력
NULLIF(값,값) : 같으면 NULL 다르면 첫 값 출력
COALESCE(값,값,…) : NULL이 아닌 첫 값 출력
ISNULL(칼럼,값) : NULL이면 값으로 대치 아니면 칼럼 값 출력