Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring security
- 실행 컨텍스트
- 다이나믹프로그래밍
- in-memory
- 호이스팅
- github
- 스프링부트
- 캐시
- MongoDB
- 분할정복
- 정보처리기사
- NoSQL
- Redis
- JPA
- 레디스
- 게시판
- Spring Boot
- 정처기
- 동적계획법
- 이벤트루프
- 깃허브
- document database
- 스프링 시큐리티
- VMware
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 자바의 정석
- sqld
- 스프링 부트
- SQL
- 영속성 컨텍스트
Archives
- Today
- Total
FreeHand
[SQLD] SQL 기본 본문
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 |