FreeHand

[SQLD] SQL 기본 본문

기타/자격증

[SQLD] SQL 기본

Jinn 2023. 11. 12. 23:34
SQL
  • 데이터의 구조 정의, 데이터 조작, 데이터 제어 등을 할 수 있는 절차형 언어
  • ANSI/ISO 표준을 따른다.
SQL 종류
DDL - 데이터베이스의 구조를 정의한다.
- CREATE, DROP, ALTER, RENAME
DML - 데이터를 입력, 수정, 삭제, 조회한다.
- INSERT, UPDATE, DELETE, SELECT
DCL - 데이터베이스 사용자에게 권한을 부여하거나 회수한다.
- GRANT, REVOKE
TCL - 트랜잭션을 제어한다.
- COMMIT, ROLLBACK

 

* SELECT문 실행 순서

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

 

형변환
  • 명시적 형변환: 형변환 함수를 사용해서 데이터 타입을 일치시키는 것
TO_NUMBER(문자열) - 문자열을 숫자로 변환
TO_CHAR(숫자 또는 날짜, [FORMAT] - 지정된 FORMAT의 문자로 변환
TO_DATE(문자열, FORMAT) - 문자열을 지정된 FORMAT의 날짜형으로 변환

 

  • 암시적 형변환: DBMS가 자동으로 형변환하는 것
SELECT * FROM emp
WHERE empno = '100';

NUMBER 타입인 empno가 TO_CHAR(empno)로 변환되어 자동으로 타입을 일치시킨다.

이렇게 인덱스 칼럼에 형변환이 일어나면 인덱스를 사용할 수 없다. 따라서 명시적 형변환으로 타입을 일치시킨다.

 

내장함수
  • 문자형 함수
ASCII(문자) - ASCII 코드 값으로 변환한다.
CHAR(ASCII 코드 값) - ASCII 코드 값을 문자로 변환한다.
SUBSTR(문자열, m, n) - 문자열을 m번째 위치에서 n개 자른다.
CONCAT(문자열1, 문자열2) - 문자열1과 문자열2를 결합한다.
LOWER(문자열) - 소문자로 변환한다.
UPPER(문자열) - 대문자로 변환한다.
LENGTH 또는 LEN(문자열) - 문자열의 길이를 반환한다.
LTRIM(문자열, 지정문자) - 왼쪽 지정문자를 삭제한다. 지정문자를 생략하면 공백을 삭제한다.
RTRIM(문자열, 지정문자) - 오른쪽 지정문자를 삭제한다. 지정문자를 생략하면 공백을 삭제한다.
TRIM(문자열, 지정문자) - 왼쪽 및 오른쪽 지정문자를 삭제한다. 지정문자를 생략하면 공백을 삭제한다.

 

  • 숫자형 함수
ABS(숫자) - 절대값을 반환한다.
SIGN(숫자) - 양수, 음수, 0을 구별한다.
MOD(숫자1, 숫자2) - 숫자1을 숫자2로 나누어 나머지를 계산한다. (%와 동일)
CEIL 또는 CEILING(숫자) - 숫자보다 크거나 같은 최소 정수를 반환한다.
FLOOR(숫자) - 숫자보다 작거나 같은 최대 정수를 반환한다.
ROUND(숫자, n) - 소수점 n자리에서 반올림한다. (n 기본값 0)
TRUNC(숫자, n) - 소수점 n자리에서 절삭한다. (n 기본값 0)

 

  • 날짜형 함수
SYSDATE - 오늘 날짜를 반환
EXTRACT('YEAR' | 'MONTH' | 'DAY' FROM d) - d(날짜)에서 년, 월, 일 조회

 

DECODE와 CASE문
  • DECODE
SELECT DECODE(empno, 1000, 'T', 'F')
FROM emp;

empno = 1000이 참이면 T, 거짓이면 F를 반환한다.

 

  • CASE
SELECT CASE
        WHEN empno = 1000 THEN 'A'
        WHEN empno = 1001 THEN 'B'
        ELSE 'C'
       END
FROM emp;

empno=1000이면 A, empno=1001이면 B, 나머지 경우에는 C를 반환한다.

 

 

'기타 > 자격증' 카테고리의 다른 글

[SQLD] SQL 활용  (0) 2023.11.14
[SQLD] 데이터 모델과 성능  (0) 2023.11.10
[SQLD] 데이터 모델링  (0) 2023.11.09