SQL 기초

goyo·2022년 12월 23일

하나의 언어인 Stuctured Query Language(SQL)은
데이터베이스 언어로 주로 관계형 데이터베이스에서 사용합니다.

쿼리(Query)

쿼리는 질의문이라는 뜻을 가지고 있습니다.
예를 들어 검색을 할 때 입력하는 검색어가 일종의 쿼리입니다.
검색을 할 때 기존에 존재하는 데이터를 검색어로 필터링합니다.

따라서, 쿼리는 저장되어있는 데이터를 필터하기 위한 질의문으로 볼 수 있습니다.

 


개발자는 데이터베이스에 쿼리르 보내 원하는 데이터를 가져오거니 삽입할 수 있습니다.
그에 해당하는 많이 사용하는 기본적인 문법들을 정리하겠습니다.

 

DB 생성

CREATE DATABASE 데이터베이스_이름;

 

DB 사용(업무를 위해 해당 DB를 사용하겠다는 명령어)

USE 데이터베이스_이름;

 

테이블 생성

CREATE TABLE 테이블_이름;

 

테이블 정보 확인

DESCRIBE 테이블_이름;

 





SLQ 명령어

 


SELECT

데이터셋에 포함될 특성을 특정합니다.
(이후 연이어 명령어가 작성됩니다.)

SELECT 특성

 

FROM

테이블과 과련된 작업을 할 경우 반드시 입력해야하며,
결과를 도출해낼 DB 테이블을 명시합니다.

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름

 

WHERE

필터 역할을 하는 쿼리문입니다. WHRER은 선택적으로 사용할 수 있습니다.

=

  1. 특정 값과 동일한 데이터 찾기

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
WHERE 특성 1 = "특정 값"

 

<>

  1. 특정 값을 제외한 값 찾기

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
WHERE 특성 1 <> "특정 값"

 

LIKE

  1. 문자열에서 특정 값과 비슷한 값들을 필터할 때에는 'LIKE' 와 \% 혹은 * 를 사용합니다.

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
WHERE 특성 1 LIKE "%특정 문자열%"

 

IN

  1. 리스트의 값들과 일치하는 데이터를 필터할 때에는 'IN'을 사용합니다.

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
WHERE 특성 1 IN ("특정 값 1","특정값 2")

 

NULL

  1. 값이 없는 경우 'NULL'을 찾을 때에는 'IS' 와 같이 사용합니다.

    SELECT 특성 1 / 특성 2 / * (모두 선택)
    FROM 테이블_이름
    WHERE 특성 1 IS NULL

 

NOT NULL

  1. 값이 없는 경우를 제외할 때에는 'NOT'을 추가해 이용합니다.

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
WHERE 특성 1 NOT NULL

 

ORDER BY

  1. 돌려받는 데이터 결과를 어떤 기준으로 정렬하여 출력할지 결정합니다. (선택적 사용가능)

SELECT 특성 1 / 특성 2 / * (모두 선택)
FROM 테이블_이름
ORDER BY 특성 1 (오름차순) / 특성 1 DESC (내림차순)

 

INNER JOIN

둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결합니다.

SELECT *
FROM 테이블_1
INNER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B

 

OUTER JOIN

LEFT OUTER JOIN으로 LEFT INCLUSIVE 를 실행

SELECT *
FROM 테이블_1
LEFT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B

 

RIGHT OUTER JOIN으로 REGHT INCLUSIVE 를 실행

SELECT *
FROM 테이블_1
RIGHT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B

이미지 출처

0개의 댓글