2025. 3. 2. 22:44ㆍBackend/Database
1. 관계형 데이터베이스 개요
1-1. 데이터베이스
1-2. 관계형 데이터베이스
1-3. TABLE
1-4. SQL (Structured Query Language)
2. SELECT 문
2-1. SELECT
2-2. 산술 연산자
2-3. 합성 연산자
3. 함수
3-1. 문자 함수
3-2. 숫자 함수
3-3. 날짜 함수
3-4. 변환 함수
3-5. NULL 관련 함수
3-6. CASE
4. WHERE 절
4-1. 비교 연산자
4-2. 부정 비교 연산자
4-3. SQL 연산자
4-4. 부정 SQL 연산자
4-5. 논리 연산자
5. GROUP BY, HAVING 절
5-1. GROUP BY
5-2. 집계 함수
5-3. HAVING
6. ORDER BY 절
7. JOIN
7-1. JOIN이란?
7-2. EQUI JOIN
7-3. Non EQUI JOIN
7-4. 3개 이상 TABLE JOIN
7-5. OUTER JOIN
8. STANDARD JOIN
8-1. INNER JOIN
8-2. OUTER JOIN
8-3. NATURAL JOIN
8-4. CROSS JOIN
1. 관계형 데이터베이스 개요
1-1. 데이터베이스
- 데이터: 세상 속 정보들
- 데이터베이스: 구조화된 데이터의 집합으로, 체계적으로 저장된 데이터들의 모임.
1-2. 관계형 데이터베이스
- 관계형 데이터베이스 (RDB, Relational Database)
- 관계형 데이터 모델에 기초를 둔 데이터베이스
- 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
- 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의한다.
- 관계형 데이터베이스 관리 시스템 (RDBMS, Relational Database Management System)
- RDB를 관리 감독하기 위한 시스템
- Oracle, MySQL, MSSQL 등
1-3. TABLE
- 테이블: 데이터를 저장하는 기본 단위
- 테이블 구성요소
- 열 (Column), 속성, 필드 : 데이터의 속성 (예: 이름, 이메일, 전화번호 등)
- 행 (Row), 튜플, 레코드 : 한 개의 데이터 레코드 (예: 한 사람의 회원 정보)
1-4. SQL (Structured Query Language)
- SQL : 관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어
- 예) user 라는 테이블에서 id=1인 튜플을 지워줘 -> DELETE FROM user where id=1;
- DBMS 종류에 따라 SQL문이 조금씩 다르지만 큰 틀은 비슷함
2. SELECT 문
2-1. SELECT
- 저장되어 있는 데이터를 조회하고자 할 때 사용하는 명령어이다.
- * : 전체 컬럼조회
- Alias 별칭: 테이블이나 컬럼명 옆에 붙이는 별칭, AS를 넣어도 되고 안 넣어도 된다.
SELECT 컬럼1, 컬럼2, ... FROM 테이블 WHERE 컬럼1 = '아무개';
SELECT * FROM 테이블; -- *: 전체 컬럼 조회
SELECT E.NAME FROM EMPLOYEE AS E; -- Alias 별칭: AS 붙여도 되고 안 붙여도 됨
2-2. 산술 연산자
- 수학에서 사용하는 사칙연산 기능을 가진 연산자
- NUMBER이나 DATE유형의 데이터와 같이 사용 가능
- 컬럼끼리의 연산에 NULL이 포함 된 경우 결과값 NULL
연산자 | 의미 | 우선순위 |
( ) | 괄호로 우선순위 조정 가능 | 1 |
* | 곱하기 | 2 |
/ | 나누기 (0으로 나눌 경우 에러) | |
+ | 더하기 | 3 |
- | 빼기 | |
% (MSSQL) | 나머지 (0으로 나눌 경우 NULL) |
2-3. 합성 연산자
- || : 문자와 문자를 연결할 때 사용하는 연산자
//산술 연산자
SELECT 10+5, 10-5, S.COL1 * S.COL2 FROM SAMPLE S;
//합성 연산자
SELECT 'S' || 'D' || '가' || '나' FROM SAMPLE -- SD가나
3. 함수
MariaDB | 내장 함수 (문자열, 숫자, 날짜/시간)
문자열 관련 함수 값 추출ASCII(아스키 코드) : 아스키 코드 값 추출 CHAR(숫자) : 아스키 코드로 문자 추출대소문자 변환UPPER(문자열) : 소문자를 대문자로 변경LOWER(문자열) : 대문자를 소문자로
hnjee.tistory.com
4. WHERE 절
5. GROUP BY, HAVING 절
6. ORDER BY 절
MariaDB | SELECT, WHERE절
SELECT특정 테이블에서 원하는 데이터를 조회해서 가져오는 명령어 -- 괄호 안 실행순서 (5) SELECT *, 가져올 컬럼명, 계산식, 함수(1) FROM 테이블명(2) WHERE 조건식(3) GROUP BY 그룹으로 묶을 컬럼명(4) HA
hnjee.tistory.com
7. JOIN
7-1. JOIN이란?
7-2. EQUI JOIN
7-3. Non EQUI JOIN
7-4. 3개 이상 TABLE JOIN
7-5. OUTER JOIN
8. STANDARD JOIN
8-1. INNER JOIN
8-2. OUTER JOIN
8-3. NATURAL JOIN
8-4. CROSS JOIN
MariaDB | JOIN
테이블 예시 1. INNER JOIN 두 테이블의 교집합의 결과만 가져온다. SELECT *FROM table_1 t1 JOIN table_2 t2 -- INNER 생략 가능 ON t1.num = t2.num; -- USING(num) 컬럼명이 같을 경우 USING 사용가능 2. LEFT OUTER JOIN
hnjee.tistory.com