SQLD 2과목(1) | SQL 기본

2025. 3. 2. 22:44Backend/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