SQL 기본
1. SQL (Structured Query Language) : 구조화된 질의 언어
① SQL 문법의 종류
- SELECT : 테이블 안에서 원하는 데이터를 가공 및 추출할 수 있다.
from, where, group by, having, order by - DML(Data Manipulation Language) : 테이블 내에 데이터를 입력, 삭제, 수정할 수 있다.
ex) insert, update, delete - DDL(Data Definition Language) : 테이블, 인덱스 등 데이터 저장 객체를 만들거나 수정할 수 있다.
ex) create, alter, rename, drop, truncate - DCL(Data Control Language) : 권한을 부여할 수 있다.
ex) grant, revoke, role - TCL(Transaction Control Language) : 트랙잭션을 제어할 수 있다.
ex) commit, rollback, savepoint
② 테이블 : 데이터베이스 안에 있는 2차원의 행(튜플), 열(컬럼) 형태를 가지는 데이터 저장소
③ SQL 실행 순서
순서 | SQL | |
5 | SELECT | 테이블에서 추출하려는 컬럼을 콤마(,)를 기준으로 입력 |
1 | FROM | 데이터를 가져올 테이블 이름을 입력 |
2 | WHERE | 테이블에서 추출하려는 행을 조건을 지정해 제한 |
3 | GROUP BY | 테이블에서 특정 컬럼을 기준으로 그룹화 |
4 | HAVING | 테이블에서 특정 컬럼을 기준으로 그룹화된 상태에서 데이터 제한 |
6 | ORDER BY | 테이블에서 추출하려는 대상을 특정 컬럼을 기준으로 정렬 |
※ 첨부파일 makedata.sql을 실행시켜 테이블들을 DB에 넣기
2. SQL 기본
① DB 직원 테이블에서 직원ID가 A0001인 직원의 이름과 나이 가져오기
SELECT 이름
, 나이
FROM 직원
WHERE 직원ID = 'A0001' ;
② 컬럼을 모두 추출하기 : *(애스터리스크, 테이블에 정의된 순서대로 존재하는 모든 컬럼 추출)
컬럼의 숫자가 많을 경우 일일이 다 써주기 힘듦 → *(애스터리스크)를 사용해 한번에 전체 컬럼을 추출
SELECT *
FROM 직원;
③ 중복되는 튜플 제거 : DISTINCT
SELECT DISTINCT 성별
FROM 직원;
SELECT DISTINCT 이름
, 성별
FROM 직원;
▶ 예제 : 직원 테이블에서 직원ID, 나이, 이름, 입사일시 컬럼 순서대로 모든 데이터를 추출하기
SELECT 직원ID
, 나이
, 이름
, 입사일시
FROM 직원;
④ NULL : 아직 정해지지 않은 값, 공간은 존재
- 오라클에서 NULL은 ''(빈 값)과 동일한 의미 (공백 '', 숫자 0과 다름)
- 산술, 비교 등의 연산에 NULL이 나타나면 결과는 NULL
- NULL에 대해서는 다른 함수를 이용해 연산 처리
⑤ 테이블 구조 이해하기 (리터럴과 자료형)
- 리터럴(literal) : 문자 그대로의 의미, 입력된 값
ex) 25, 22/03/01, '991212-1566213' 등등 데이터 값들
- 자료형(데이터 타입) : 테이블에 리터럴(데이터 값)을 입력할 때 특정 타입만 넣도록 데이터 형식을 정함
'Oracle SQL Developer' 카테고리의 다른 글
SQL GROUP BY, HAVING, ORDER BY (0) | 2023.01.24 |
---|---|
SQL FROM, JOIN (0) | 2023.01.24 |
SQL WHERE (1) | 2023.01.23 |
SQL SELECT 연산, 내장형 함수 (0) | 2023.01.09 |
DB 데이터 모델링(Data Modeling) (0) | 2023.01.05 |
댓글