본문 바로가기
IT Study/SQL

[SQLD] SQL 기본 및 활용 (관리 구문)

by 하람 Haram 2025. 11. 11.
728x90

기초 용어 정리

DataBase :데이터베이스

    - 데이터를 일정한 체계에 따라 통합하여 디스크나 메모리에 저장한 것

    - 응용 프로그램에 종속적이지 않아 일종의 미들웨어 형태

DBMS(Database Management System) : 데이터베이스 관리 시스템

    - 데이터베이스를 구축하고 관리할 수 있는 기능을 제공하는 시스템 소프트웨어

    - 엄밀하게는 OS위에 애플리케이션과 같이 설치하여 운영(시스템 소프트웨어와 응용 소프트웨어의 중간 미들웨어)

관계형데이터 베이스 (RDB) : Relational Database

    - 데이터의 일관성 문제를 근본적으로 해결한 데이터베이스 시스템

    - 요즘은 대부분 객체관계형 데이터베이스 (Object-Relational Database)

    - Oracle, PostgreSQL, MariaDB, MySQL, SQL Server 등이 있다

    - 관계형 데이터베이스는 2차원 구조의 행(ROW)와 열(Column)으로 표현

    - 한 열을 필드(속성)이라 하고 한 행을 레코드(튜플)이라 한다

SQL (Structured Query Language)

- 구조화된 질의 언어

- 데이터베이스의 구조를 정의하고, 데이터를 조작하며, 데이터를 제어할 수 있는 절차적 + 비절차적 언어

 

SQL 구분

DDL (Data Definition Language, 데이터 정의 언어)

- 스키마(데이터의 구조)를 정의하는 명령어

- ERD (Entity-Relationship Diagram) 으로 그려진 데이터 모델과 상호 변환이 가능

- ex) CREATE, ALTER, DROP, RENAME, TRUNCATE

 

DML (Data Manipulation Language, 데이터 조작 언어)

- 테이블에 데이터를 조회, 입력, 수정, 삭제하는 명령어

- ex) SELECT, INSERT, UPDATE, DELETE, MERGE

 

* TRUNCATE, DROP, DELETE의 차이

- DROP : 스키마까지 완전히 삭제  / 저장공간을 릴리즈(재사용 가능)

- TRUNCATE : 스키마는 남기고 데이터만 삭제 / 저장공간을 릴리즈(재사용 가능)

- DELETE : 테이블의 데이터를 모두 삭제 / 저장공간을 릴리즈 x (재사용 불가)

 

DCL (Data Control Language, 데이터 제어 언어)

- 사용자 접근 권한과 보안, 제어 등을 다룸

- ex) GRANT, REVOKE

 

TCL(Transaction Control Language, 트랜잭션 제어 언어)

- 트랜잭션에 대한 제어를 다루는 명령어 (DCL의 일부로 보기도 함)

- ex) COMMIT, ROLLBACK, SAVEPOINT 

 

 

SQL의 기본


1. SELECT절 

SELECT 문은 데이터를 조회시에 사용

- 여러 테이블에 동일한 명의 칼럼이 있으면 " . " 을 이용하여 테이블과 붙여 표기 한다

- ex) member.ID,c client.ID  

Table에는 Alias를 부여할 수도 있다

- Alias 는 From 절에서는 그냥 쓰고, Select절에서는 AS 문법을 사용한다

-  ex) SELECT A.회원번호 AS ID

          FROM 회원  A

 

 

SELECT문의 기본 순서

SELECT : 조회
FROM : 테이블 지정
WHERE : 조건에 맞는 행
GROUP BY :그룹핑
HAVING : 필터링(그룹기준 조건)
ORDER BY : 정렬

* DUAL : Orable에서 사용할 수 있는 임시 가상테이블

- 이런 식으로 사용 SELECT 85 + NULL FROM DUAL

 

=> 실행 순서는 F W G H S O  (Fuck why 구했소)

 

산술연산자

산술 연산자는 다른 언어와 동일하게 사용

(), *, /, %, +, -      => Oracle에서는 %대신 MOD 함수를 사용

 

* Null 과의 산술 연산 결과는 Null 이다

 

 

|| : 합성 연산자

- 문자열을 연결할 때 사용

- ex) SELECT FNAME || '   ' || LNAME AS FULL_NAME

  >> FNAME 과 LNAME을 공백을 가운데에 두고 합성하여  FULL_NAME을 형성

 

 

 

 

 

2. WHERE 절 

 

 

 

 

3. GROUP BY, HAVING 절

 

 

 

 

4. ORDER BY 절

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90