일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자격증
- 메서드
- lv0
- 프로그래머스
- time.sleep
- CSV
- 1과목
- 튜플
- scraping
- Crawling
- 프로젝트
- 슬라이싱
- 파이썬
- 스크랩핑
- 정리
- 딕셔너리
- 데이터 타입
- 조건문
- SQL 개발자
- 태그
- Python
- 데이터베이스
- SQL
- django
- 파이선
- 크롤링
- HTML
- SQLD
- 자격증공부
- 정보처리기사
- Today
- Total
나의 공부 일기
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 1 / 4 ) 본문
데이터 조작어(DML)
• Data Manipulation Language
• SELECT
- 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어
- RETRIEVE 라고도 함
- ex) [ SELECT * FROM 해당 컬럼들이 있는 테이블명 ]
• INSERT, UPDATE, DELETE
- 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말함
- ex) 데이터를 테이블의 새로운 행에 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들
데이터 정의어(DDL)
• Data Definition Langage
• CREATE, ALTER, DROP, RENAME
- 테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들
- 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어
데이터 제어어(DCL)
• Data Control Language
• GRANT, REVOTE
- 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어
트랜젝션 제어어(TCL)
• Transaction Control Language
• COMMIT, ROLLBACK
- 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어
ALL
• Defaul 옵션이므로 별도로 표시하지 않아도 됌.
• 중복된 데이터가 있어도 모두 출력함
DISTINCT
• 중복된 데이터가 있는 경우 1건으로 처리해서 출력해줌
GROUP BY절의 특성
• GROUP BY절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다.
• 집계 함수의 통계 정보는 NULL값을 가진 행을 제외하고 수행한다.
• SELECT 절과 달리 ALIAS 명을 사용할 수 없다
• 집계함수 WHERE 절에는 올 수 없다.
• 집계 함수를 사용할 수 있는 GROUP BY절보다 WHERE 절이 먼저 수행된다.
• WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거한다.
HAVING 절의 특성
• GROUP BY절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
• GROUP BY절의 의한 소그룹별로 만들어진 집계 데이터중, HAVING절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
• 일반적으로 GROUP BY절 뒤에 위치한다.
DUAL 테이블의 특성
• 사용자 SYS가 소유하며 무든 사용자가 액세스 가능한 테이블이다
• SELECT ~ FROM ~ 의 형식을 갖추기 위한 일종의 DUMMY 테이블 이다
• DUMMY라는 문자열 유형의 칼럼에 'X'라는 값이 들어 있는 행을 1건 포함하고 있다.
NVL(표현식1,표현식2) / ISNULL (표현식1,표현식2)
• 표현식 1의 결과값이 NULL이면 표현식 2의 값을 출력함
• 단, 표현식 1과 표현식2의 결과 데이터 타입이 같아야함
• NULL 관련 가장 많이 사용되는 함수이므로 중요함
NULL(표현식1, 표현식2)
• 표현식 1이 표현식2 와 같으면 NULL을, 같지 않으면 표현식 1을 반환한다.
CLALESEC(표현식1, 표현식2.....)
• 임의의 개수 표현식에서 NULL이 최초의 표현식을 나타낸다.
• 모든 표현식이 NULL이라면 NULL을 리턴함
ORDER BY 문장
SELECT 칼럼명 [ALIAS명]
FROM 테이블명
[WHERE] 조건식
[GORUP BY 칼럼 이나 표현식]
[HAVING 그룹조건식]
[ORDER BY 칼럼 이나 표현식 [ASC 또는 DESC]];
ASC(Ascending)
• 조회한 데이터를 오름차순으로 정렬한다.(기본값이므로 생략 가능)
DESC(Desending)
• 조회한 데이터를 내림차순으로 정렬한다.
ORDER BY 절의 특징
• 기본적인 정렬 순서는 오름차순(ASC)이다.
• 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력된다
• 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 이른 값이 먼저 출력된다
• EX) 01-JAN-2012 는 01-SEP-2012 보다 먼저 출력된다.
• 오라클에서 NULL값을 가장 큰 값으로 간주하여 오름차순으로 정렬했을 경우에는 가장 마지막에
• 내림차순으로 정렬했을 경우에는 가장 먼저 위치한다.
• SQL Server에서는 NULL값을 가장 작은 값으로 간주하여 반대로 적용한다.
NULL 포함 연산의 결과
• NULL + 2 = NULL
• NULL - 2 = NULL
• NULL * 2 = NULL
• NULL / 2 = NULL
SELECT 문장 실행 순서
① 발췌 대상 테이블을 참조한다.(FROM)
② 발췌 대상 데이터가 아닌 것은 제거한다.(WHERE)
③ 행들을 소그룹화한다.(GROUP BY)
④ 그루핑된 값의 조건에 맞는 것만 출력한다.(HAVING)
⑤ 데이터 값을 출력/계산한다.(SELECT)
⑥ 데이터를 정렬한다.(ORDER BY)
조인(JOIN)
• 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것을 말함
• 일반적인 경우 행들은 PRIMARY KEY(PK) 나 FOREIGN KEY(FK) 값의 연관에 의해 조인이 성립됌
• 하지만 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 조인이 성립됌
INNER JOIN
• OUTER(외부) JOIN과 대비하여 내부 JOIN 이라고 하며 JOIN 조건에서 동일한 값이 있는 행만 반환함
CROSS JOIN
• 테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 말함
• 결과는 양쪽 집합의 M*N 건의 데이터 조합이 발생함.
LEFT OUTER JOIN
• 조인 수행 시 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 나중 표기된 우측 테이블에서 JOIN 대상 데이터를 읽어옴
• 즉, Table A 와 B 가 있을 때 A 와 B를 비교해서 B의 JOIN 칼럼에서 같은 값이 있을때 그 해당 데이터를 가져오고, B의 JOIN 칼럼에서 같음 값이 없는 경우에는 B 테이블에서 가져오는 칼럼들은 NULL이됌
FULL OUTER JOIN
• 조인 수행 시 좌측, 우측 테이블의 모든 데이터를 읽어 JOIN하여 결과를 생성함
• 즉, Table A 와 B가 있을 때 RIGHT OUTER JOING 과 LEFT OUTER JOIN의 결과를 합집합으로 처리한 결과와 동일
순수 관계 연산자
• SELECT 연산
- WHERE절로 구현
• PROJECT 연산
- SELECT 절로 구현
• JOIN 연산
- 다양한 JOIN 기능으로 구현
• DIVIDE 연산
- 이제 사용되지 않음
'자격증공부 > SQL 개발자' 카테고리의 다른 글
SQL 개발자 자격증 공부 - 1과목 데이터 모델링의 이해 복습 - 1 (0) | 2024.02.21 |
---|---|
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 3 / 4 ) (1) | 2024.02.11 |
SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 2 / 4 ) (0) | 2024.02.07 |
SQL 개발자 자격증 공부 - 1과목 데이터 모델링의 이해 ( 2 / 2 ) (1) | 2024.02.05 |
SQL 개발자 자격증 공부 - 1과목 데이터 모델링의 이해 ( 1 / 2 ) (1) | 2024.02.05 |