본문 바로가기
Database

SQL과 기초 문법

by BTC_루피 2023. 6. 22.

베하 !

문땅훈과 루피입니다😊

 

이번엔 SQL과 기초 문법에 대해서 자세히 알아보려고 합니다!

그럼 시작해볼까요


개요

  • SQL 이란?
  • SQL의 특성
  • DDL, DML, DCL
  • SQL 기초 문법

 

SQL 이란?

  • SQL이란 ?
    • Structured Query Language 의 줄임말로, 관계형 데이터 베이스 시스템에서 자료를 관리 및 처리하기 위해서 설계된 언어입니다.
    • DBMS 데이터를 구축, 관리하고 활용하기 위해서 사용되고 있는 언어입니다. SQL은 데이터베이스 용 프로그래밍 언어라고도 합니다.
    • SQL 문법은 크게 DDL, DML, DCL 3가지로 나뉘며 아래에서 자세히 다뤄보겠습니다.
  • 관계형 데이터베이스란?
    • 관계형 데이터베이스란 RDBMS(Relational DBMS)라고도 부르며 흔히 DBMS라고 부릅니다.
    • 관계형 데이터베이스는 테이블이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(Column)과 행(Row)로 이루어져있습니다.
    • 모든 데이터가 열과 행으로 이루어진 테이블에 저장됩니다.
  • Query란 ?
    • 쿼리는 ‘질의문’ 이라는 뜻을 가지고 있습니다. 예를 들면 검색할 때 입력하는 검색어가 일종의 쿼리라고 보면 됩니다. 데이터를 필터링하기 위한 질의문 이라고 볼 수 있습니다.

 


SQL 특성

  • SQL문을 사용할 때 SQL의 특성을 잘 알아 두어야 쿼리를 작성할 때 오류를 줄일 수 있습니다.
  1. SQL은 대소문자를 가리지 않습니다.
  2. SQL 명령은 반드시 세미콜론 (;) 으로 끝납니다.
  3. 고유의 값은 따옴표로 감싸줍니다.
SELECT * FROM TABLE
WHERE NAME = 'jenny' ;

4. SQL에서 객체를 나타낼 때는 백틱으로 감싸줍니다.

SELECT `NAME`, `AGE` FROM TABLE ;

5. 주석은 일종의 도움말로 주석 처리된 문장은 프로그램에서 동작하지 않습니다. 한 줄 주석은 문장 앞에 - - 를 붙여서 사용합니다.

-- SQL 주석처리

6. 여러 줄 주석은 /* */ 로 감싸줍니다.

/*
여러 줄 주석
처리하기
*/

 


 

DDL, DML, DCL

  • DDL
    • DDL은 Data Definition Language데이터 정의 언어 입니다.
    • 각 릴레이션을 정의하기 위해 사용하는 언어이며 CREATE, ALTER, DROP이 있습니다.
  • DML
    • DML은 Data Mainpulation Language데이터 조작 언어 입니다.
    • 데이터를 추가/수정/삭제하기 위한, 즉 데이터 관리를 위한 언어입니다. 대표적으로 SELECT, INSERT, UPDATE가 있습니다.
  • DCL
    • DCL은 Data Control Language데이터 제어 언어 입니다.
    • 사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어입니다.
    • 대표적으로 GRANT, REVOKE가 있습니다.

 

SQL 기초 문법

  • SQL에서 가장 많이 사용되는 기초 문법을 간단한 예시와 함께 알아보겠습니다.🙂

 

  • SELECT
    • SELECT는 데이터를 조회할 때 사용되는 문법 입니다.
SELECT col_name1, col_name2
FROM TABLE_NAME ;

 

  • ORDER BY
    • ORDER BY 절은 주로 데이터를 정렬하기 위해서 사용됩니다.
    • ORDER BY 절은 항상 SELECT 문의 맨 마지막에 위치합니다.
    • ASC는 오름차순이며 DESC는 내림차순입니다.
    • Default는 ASC 입니다.
SELECT * FROM TABLE_NAME
	ORDER BY col_name (ASC 또는 DESC)

 

  • GROUP BY
    • GROUP BY 절은 특정 칼럼을 기준으로 집계 함수를 사용하여 COUNT, SUM, AVG와 함께 쓰며 집계성 데이터를 추출할 때 사용됩니다.
    • GROUP BY에서 기준 칼럼을 여러개 지정할 수 있습니다.
SELECT * FROM TABLE_NAME
	GROUP BY col_name

 

  • COUNT와 함께 쓰는 경우
SELECT col_name1, COUNT(col_name2) FROM TABLE_NAEM
	GROUP BY col_name2

 

  • WHERE
    • WHERE 절은 특정 조건에 부합하는 데이터들만 조회할 때 사용됩니다.
    • and와 or과 함께 사용되기도 합니다.
    • AND와 OR의 차이점
      • AND는 모든 조건이 참일 때 결과를 반환, OR는 조건 중 하나라도 참일 때 결과를 반환하게 됩니다.
SELECT * FROM TABLE_NAME
	WHERE col_name > 500

 

  • CASE WHEN
    • 조건문을 표현하는 함수이며, 특정 조건에 따라 값을 반환할 수 있습니다.
    • 아래 예시는 테이블에서 CASE WHEN절을 사용하여 age열이 18이상인 경우에 adult를 반환하고 그렇지 않은 경우 minor를 반환합니다.
SELECT col_name, 
       CASE 
         WHEN age >= 18 THEN 'adult' 
         ELSE 'minor' 
FROM TABLE_NAME;

 

  • LIKE
    • LIKE 절은 문자열 패턴 매칭을 수행하는데 사용됩니다.
    • LIKE 절은 WHERE 절에서 문자열 검색을 수행할 때 유용합니다.
    • 아래 예시는 users 테이블에서 name 컬럼이 John으로 시작하는 모든 문자열을 반환하게 됩니다.
SELECT * FROM users WHERE name LIKE 'John%';

 

 

✔️DELETE, DROP, TRANCATE 의 차이

  • DELETE, DROP, TRANCATE는 모두 데이터를 삭제하는데 사용되는 문법입니다. 하지만 각각의 명령어는 다른 방식으로 작동되기 때문에 차이점을 알고 사용하는게 중요합니다!
  • DELETE
    • 테이블에서 행(row)을 삭제합니다. 테이블의 구조(schema)는 그대로 유지됩니다. 즉, 테이블의 컬럼과 제약 조건 등은 그대로 유지됩니다.
  • DROP
    • 테이블 자체를 삭제합니다. 즉, 테이블의 구조(schema)와 함께 데이터도 모두 삭제됩니다. 이 명령을 실행하면 테이블의 모든 데이터와 구조가 사라지므로 주의해야 합니다.
  • TRANCATE
    • 테이블에서 모든 행(row)을 삭제합니다. DELETE와 마찬가지로 테이블의 구조(schema)는 그대로 유지됩니다. TRUNCATE는 DELETE보다 더 빠르게 작동하지만, 로그 파일에 기록되지 않으므로 롤백(rollback)이 불가능합니다.

아래 이미지를 참고하면 쉽게 이해하는데 도움이 될 것 같네요😊

 


 

 

지금까지 SQL과 기초 문법을 알아보았습니다.

SQL과 조금이나마 친해진 것 같나요!?

 

무더위 조심하시고

다음주에 만나도록 할게요 ! 베빠 😊🕺

'Database' 카테고리의 다른 글

Airflow 버전별 Web UI 및 기능 활용  (0) 2023.06.22
빅쿼리 개념 및 특징  (0) 2023.06.22
Redis를 활용한 Celery Executor 설정  (0) 2023.06.21
Snowflake VS Databricks  (0) 2023.06.21
[데이터 레이크하우스] Data Lakehouse  (0) 2023.06.19

댓글