SQLD: SQL 기본, SELECT
SQL 기본
시험의 2과목은 SQL 기본 및 활용인데, 그 중 SQL 기본에 관한 내용을 공부해볼 시간이다.
SQL기본의 세부항목으로는 다음이 있다.
- 관계형 데이터베이스 개요
- SELECT문
- 함수
- WHERE 절
- GROUP BY, HAVING 절
- ORDER BY 절
- 조인
- 표준 조인
사실상 SELECT문을 공부하는 부분이다
용어 정리
데이터베이스 (Database, DB)
데이터를 일정한 형태로 저장해 놓은 것
데이터베이스 관리 시스템 (Database Management System, DBMS)
기존 데이터베이스 기능에 추가로 데이터 손상을 방지 및 복구, 인증된 사용자만 접근 등 추가 기능을 지원하는 관리 시스템
관계형 DBMS (Relational DBMS, RDBMS)
테이블로 데이터를 관리하고, 테이블간 관계를 이용해 데이터를 정의하는 방식으로 대부분의 기업이 사용함
테이블 (Table)
RDBMS에서 실제 데이터가 저장되고 조회되는 2차원 배열 형태의 저장 공간
- 엔터티, 속성, 인스턴스가 각각 DB가 이해할 수 있는 형태인 테이블, 컬럼, 튜플로 변경된 것
SQL (Structured Query Language)
RDBMS에서 데이터 정의, 조작, 조회, 제어 등을 하기 위해 사용하는 언어
- DDL - 데이터 정의어 : 테이블 자체를 만들 수 있는 것
- DML - 데이터 조작어 : 만든 테이블에서 데이터를 조회하거나 삽입, 수정, 삭제
- DCL - 데이터 제어어 : 데이터를 조회하거나 삭제할 수 있는 권한 관련
- TCL - 트랜잭션 제어어 : 업무의 완료를 지정
SELECT문
Select란 테이블에서 원하는 데이터를 조회할 때 사용하는 문법
1
2
3
SELECT CUST_ID, CUST_NAME, BIRTH_DY --회원 ID, 이름, 생년월일 (컬럼을 기준으로 필터링)
FROM TB_CUST --고객정보 테이블
WHERE MONEY = 10000; --돈이 10,000인 곳 (행을 기준으로 필터링)
- TB_CUST 테이블에서 데이터를 가져온다.
- TB_CUST 테이블에서 MONEY(보유금액)이 10000인 튜플(행)만 가져온다.
- 출력되는 튜플(행)에 대해 CUST_ID, CUST_NAME, BIRTH_DY 컬럼(열)만 가져온다.
SELECT * FROM TB_PRD;
아스터리스크(*)는 SELECT뒤에 사용되며 테이블 내의 모든 컬럼 정보를 출력하겠다는 말이다.
SELECT DISTINCT PRD_TYPE FROM TB_PRD
TB_PRD 테이블의 PRD_TYPE컬럼을 기준으로 값을 중복없이 출력한다.
- DISTNCT는 SELECT뒤, 컬럼 앞에 사용된다
AS
는 SELECT 부분에서 출력하려는 컬럼에 대해 새로운 별명(ALIAS)를 부여할 수 있다.
- 띄어쓰기 쓸 수 없음
- 예약어 사용 불가능
SELECT의 사칙연산
1
2
3
4
5
6
SELECT PRD_ID,
PRD_NAME,
PRD_AMT,
PRT_AMT + 1000,
PRD_AMT - 1000
FROM TB_PRD;
비고: SELECT는 열 하나 당 한 번 실행된다.
SELECT의 연결연산
|| (AND)기호를 사용하여 연결한다.
1
2
3
SELECT CUST_ID
, CUST_NAME
, CUST_ID || '님의 이름은' || CUST_NAME || '입니다' AS 회원ID와이름
비고: 오라클에서 문자열을 표현할 때는 겉따음표를 사용한다.