본문 바로가기
1인칭 학습 시점_웹개발/SQL

[SQL] 오라클 SQL Developer 기초 사용법과 SQL 실습 정리

by awesong 2024. 6. 21.
728x90
반응형

 

 

 

이번 포스팅에서는 오라클 SQL Developer 활용한 데이터베이스 기초 학습 내용을 정리해 SQL 기본 문법부터 데이터 생성, 조회, 가공, 정렬까지 실습을 통해 익힌 내용을 기록하였습니다.

 

1. 오라클 프로그램 화면 기본 구성

오라클 SQL Developer 사용자가 SQL 문을 작성하고 데이터베이스와 연동할 있는 GUI 환경을 제공합니다. SQL Developer에서는 명령어 작성 대소문자를 구분하지 않아도 됩니다. 하지만 코드 가독성과 표준화된 작성을 위해 일반적으로는 키워드는 대문자로 작성하는 것이 좋습니다.

오라클 프로그램 화면 기본 구성

 

 

 

2. 테이블 생성 데이터 입력 실습

다음은 members 테이블과 buy 테이블을 생성하고, 각각 데이터를 삽입한 예시입니다.

DROP TABLE members;
DROP TABLE buy;

-- 회원 테이블 생성
CREATE TABLE members (
  mem_id      VARCHAR2(8) NOT NULL PRIMARY KEY,
  mem_name    VARCHAR2(20) NOT NULL,
  mem_number  NUMBER(3) NOT NULL,
  addr        VARCHAR2(10) NOT NULL,
  phone1      CHAR(3),
  phone2      CHAR(8),
  height      NUMBER(3),
  debut_date  DATE
);

-- 구매 테이블 생성
CREATE TABLE buy (
  num         NUMBER(8) PRIMARY KEY,
  mem_id      VARCHAR2(8) NOT NULL,
  prod_name   VARCHAR2(20) NOT NULL,
  group_name  VARCHAR2(10),
  price       NUMBER NOT NULL,
  amount      NUMBER(5) NOT NULL,
  CONSTRAINT fk_members FOREIGN KEY (mem_id) REFERENCES members(mem_id)
);

 

테이블이 생성된 , 아래와 같이 데이터를 삽입합니다.

 

-- 예시: members 데이터 삽입
INSERT INTO members VALUES ('TWC', '트와이스', 9, '서울', '02', '11111111', 167, TO_DATE('2015-10-19', 'YYYY-MM-DD'));
-- 예시: buy 데이터 삽입
INSERT INTO buy VALUES (1, 'BLK', '지갑', NULL, 30000, 2);

 

3. SELECT 문으로 테이블 조회하기

SELECT * FROM members;
SELECT * FROM buy;

 

 

SELECT * 명령어는 모든 컬럼의 값을 출력해주는 기본적인 조회 방법입니다. 특정 컬럼만 조회하고자 때는 다음과 같이 작성합니다.

 

SELECT mem_name, phone1 FROM members;

 

4. 테이블 조인과 별칭 사용

여러 테이블에서 데이터를 조회할 때는 조인(JOIN) 사용하거나, FROM절에 여러 테이블을 나열하여 데이터를 조합합니다.

-- 테이블 별칭 사용 예시

SELECT m.mem_name, b.prod_name

FROM members m, buy b

WHERE m.mem_id = b.mem_id;

 

테이블 별칭은 테이블명을 줄여서 사용할 있어 가독성을 높여줍니다.

 

5. WHERE 조건절 사용

SELECT * FROM members WHERE addr = '서울';

SELECT * FROM members WHERE mem_name = '트와이스';

 

WHERE절을 통해 조건을 설정하여 원하는 데이터만 조회할 있습니다.

 

6. 정렬: ORDER BY

SELECT * FROM members ORDER BY mem_number DESC;

ORDER BY 사용하면 데이터를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 있습니다.

 

7. 중복 제거: DISTINCT

SELECT DISTINCT job_id FROM employees;

DISTINCT 키워드를 통해 중복된 데이터를 제거한 결과를 얻을 있습니다.

 

8. 열에 별칭 붙이기 (AS)

SELECT employee_id AS 사원번호, first_name AS 이름, last_name AS 성

FROM employees;

AS 키워드를 사용하면 열의 출력명을 변경할 있어 출력 결과가 직관적으로 보입니다.

 

9. 열 결합하여 출력

SELECT first_name || ' ' || last_name AS 전체이름 FROM employees;

|| 연산자를 사용하면 문자열을 이어 붙일 있습니다. 이메일이나 전체 이름을 구성할 유용하게 사용됩니다.

 

10. 산술 연산 처리

SELECT salary, salary+500, salary-100, (salary*1.1)/2 FROM employees;

SQL에서는 값에 대한 산술 연산도 가능합니다. 연산은 실제 데이터베이스 값에는 영향을 주지 않고 조회 결과에만 적용됩니다.

 

11. 복합 계산 예제

SELECT prod_name AS 제품이름,

       price AS 가격,

       amount AS 수량,

       price * amount AS 합계,

       (price * amount) * 0.85 AS "할인가격15%"

FROM buy

ORDER BY amount ASC, 합계 DESC;

다양한 계산식과 정렬 조건을 함께 적용하여 실전과 같은 데이터 분석이 가능합니다.

 

12. 데이터베이스와 DBMS 기본 개념

  • DB (Database): 논리적으로 연관된 데이터를 일정한 구조로 저장한 집합
  • DBMS (Database Management System): 데이터베이스를 관리하는 소프트웨어. 데이터를 입력, 수정, 삭제, 검색하는 기능 제공

13. ISOS 개념 정리

  • 통합데이터: 중복 최소화된 데이터
  • 저장데이터: 물리적으로 저장된 데이터
  • 운영데이터: 실제 업무에 사용되는 데이터
  • 공용데이터: 여러 시스템이 공유하는 데이터

14. 데이터베이스 구조 유형

계층형 DB

  • 트리 구조의 부모-자식 관계
  • 중복과 수정 어려움으로 현재는 거의 사용하지 않음

네트워크형 DB

  • 노드 대등한 관계
  • 구조가 복잡하여 유지보수가 어려움

- DB (NoSQL)

  • 비정형 데이터 저장에 유리
  • 단순한 - 쌍으로 데이터를 저장

관계형 DB

  • (Row) (Column) 구성된 테이블 형태
  • 테이블 관계를 기반으로 데이터 관리
  • SQL 통해 데이터 조작

 

15. SQL 분류

분류 이름 설명
DQL Data Query Language 데이터 조회 (SELECT)
DML Data Manipulation Language 데이터 조작 (INSERT, UPDATE, DELETE)
DDL Data Definition Language 데이터 구조 정의 (CREATE, ALTER, DROP)
TCL Transaction Control Language 트랜잭션 제어 (COMMIT, ROLLBACK)
DCL Data Control Language 권한 제어 (GRANT, REVOKE)

 

16. 마무리하며

이번 학습을 통해 SQL 기본적인 사용법부터 데이터베이스 개념까지 폭넓게 이해할 있었습니다. 오라클 SQL Developer 활용한 실습을 통해 SQL 문법에 익숙해지고, 데이터를 자유롭게 조회하고 가공할 있는 능력을 향상시킬 있었습니다.

반응형