관계형 데이터베이스 개요, SELECT 문, 함수, WHERE 절, GROUP BY, HAVING 절, ORDER BY 절, 조인, 표준 조인
관계형 데이터베아스 개요, SELECT문 등
*1. 명령어 종류
DML(Data Manipulation Language) > 데이터 조작어 |
Select, Insert, Update, Delete | 데이터베이스에 들어 있는 데이터를 조회, 검색, 변형 |
DDL(Data Definition Language) > 데이터 정의어 |
Create, Alter, Drop, Rename | 테이블과 같은 데이터 구조를 정의 |
DCL(Data Control LanguageP > 데이터 제어어 |
Grant, Revoke | 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라 함 |
TCL (Transaction Control Language) > 트랜잭션 제어어 |
Commit, Rollback | 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과 작업단위별로 제어하는 명령어 |
*2. 함수의 실행 결과
*2-1. LOWER('SQL Expert') : 'sql expert'
*2-2. UPPER('SQL Expert') : 'SQL EXPERT'
*2-3. LTRIM('xxYYZZxYZxx', 'x') : 'YYZZxYZxx'
> LTRIM은 첫 번째 인자 값인 문자열의 왼쪽 첫 문자부터 확인해서 두 번째 인자 값인 지정문자가 나타나면 해당 문자를 제거한다.
*3. %의 위치에 아무런 문자가 들어가지 않을 수도 있다. 따라서 S가 첫 문자가 될 수도 있으므로 '%S___'은 옳지 않다.
*4-1. ROUND(4.875, 2) = 4.88
*4-2. LENGHT('KOREAN') = 6
*4-3. DATE_FORMAT('2022-11-02', '%Y-%m-%d') =2022-11-02
*4-4. SUBSTR('Gangeung Wonju', 8, 4) = ng W : 문자열에서 8번째 문자인 n에서부터 4개 문자를 출력함
*5-1. 일반적으로 조인은 PK와 FK 값의 연관성에 의해 성립된다.
*5-2. DBMS 옵티마이저는 FROM절에 나열된 테이블이 아무리 많아도 항상 2개의 테이블씩 짝을 지어 Join을 수행한다.
*5-3. EQUI Join은 조인에 관여하는 테이블 간의 컬럼 값들이 정확하게 일치하는 경우에 사용되는 방법이다.
*5-4. EQUI Join은 '=' 연산자에 의해서만 수행되며, 그 이외의 비교연산자를 사용하는 경우에는 모두 NON EQUI JOIN이다.
*5-5. 대부분 NON EQUI JOIN을 수행할 수 있지만, 때로는 설계상의 이유로 수행이 불가능한 경우도 있다.
*6. 순수 관계 연산자 : SELECT, PROJECT, JOIN, DIVIDE
*7-1. HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다.
*7-2. 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
*7-3. GRUOP BY 절에서는 SELECT 절과는 달리 ALIAS명을 사용할 수 없다.
*7-4. 집계함수는 where 절에는 올 수 없다.
*8. 실행 결과가 NULL인 SQL : SELECT NULLIF('A', 'A') FROM DUAL;
> NULLIF(표현식1, 표현식 2) 함수는 표현식 1과 표현식 2가 같으면 NULL, 아니면 표현식 1을 리턴한다.