본문 바로가기
DB/RDBMS

SQL 기초

by 소라둥이 2020. 3. 23.

▶관계형 데이터베이스(RDB)

-데이터를 2차행렬의 테이블의 집합으로 표현

-각 테이블은 행과 열로 구성, 테이블에서 각 행은 유일하게 구별됨

- 각 컬럼들은 무결성 보장받아야됨

-테이블에 대한 데이터 조작 및 검색은 SQL을 이용하여 수행

-RDBMS가 전체 데이터베이스 관리

▶SQL, SQL*PLUS, PL/SQL

-SQL : DB서버에 명령을 내리기 위한 언어

-SQL*PLUS : SQL 및 PL/SQL 문장을 인식하고 실행 (SQL 실행환경 제공툴)

-PL/SQL : SQL에 프로그램 로직 추가 확장한 절차적 프로그래밍 언어

▶테이블 명명 규칙

- 테이블 및 칼럼명은 반드시 문자로 시작, 최대 30자

-영문(대소문자), 숫자, _, $, # 사용가능

-동일 사용자가 소유한 다른 객체 이름과 중복 x

-예약어 사용 x

 

oracle에서 테이블 생성방법 및 생성된 테이블

▶데이터 입력(INSERT)

-INSERT INTO 테이블명 (컬럼1, 2, 3...) → 모든 컬럼 입력 시 생략가능

VALUES(값1,2,3...)

※데이터 입력 예제1 - 테이블에 데이터 입력

데이터 입력방법

데이터 입력 후 저장(커밋)

▶데이터 수정(UPDATE)

-UPDATE 테이블명

SET 칼럼1 = 값1 [, 칼럼2 = 값2 ...]

[WHERE 조건식];

※데이터 수정 예제1 - 예제2에서 입력한 데이터 수정

데이터 수정방법

수정 결과

▶데이터 삭제(DELETE)

-DELETE FROM 테이블명

[WHERE 조건식];

※데이터 삭제 예제1 - 예제 1에서 생성한 테이블의 모든 데이터 삭제

▶데이터 분류(GROUP BY)

-SELECT 컬럼1,2...

FROM 테이블명

WHERE 조건식

GROUP BY 컬럼명

※데이터 분류 예제 1 - 각 부서별 평균 급여 출력

GROUP BY EX1

※예제 2 - 각 부서별로 직책이 사원인 직원들의 평균급여 출력

GROUP BY Ex2

▶데이터 분류 조건(HAVING)

-SELECT 컬럼1,2...

FROM 테이블명

WHERE 조건식

GROUP BY 컬럼명

HAVING 조건식

※데이터 분류조건 예제1 - 각 직책별로 급여 총합(부장 제외, 급여총합 8000만원 이상, 오름차순)

HAVING Ex1

※예제2 - 각 부서별 직책이 사원인 직원들의 평균급여

HAVING Ex2

▶데이터 분류2(SUBGROUP)

-SELECT 컬럼1,2...

FROM 테이블명

WHERE 조건식

GROUP BY 메인 그룹 컬럼명,서브그룹 컬럼명

※데이터 분류2 예제1 - 각 부서내 각 직책별로 몇명?

SUBGROUP Ex1

※예제2-각 부서 내 몇 명의 직원이 근무?

SUBGROUP Ex2

※예제3-각 부서별 최소급여와 최대급여 출력(최대 최소 같을 시 미출력)

SUBGROUP Ex3