[SQL] SQL이란?

이병수·2023년 12월 22일

SQL

목록 보기
1/6
post-thumbnail

SQL


SQL이란 무엇인가?


SQL은 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리 및 처리하기 위해 특수 목적의 프로그래밍 언어이다




데이터베이스가 무엇인가?


데이터베이스는 '데이터의 집합'이라고 한다.

관계형 데이터 베이스?

관계형 데이터 베이스는 데이터가 하나 이상의 열과 행의 테이블에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로 데이터를 구성하는 정보 모음

  • 즉, 테이블, 행, 열의 정보를 구조화 한다고 보면 된다.

대표적인 관계형 데이터베이스는 MySQL, Oracle, PostgresSQL, MariaDB 등이 있다.

  • 여기서 나는 MySQL에 대해서 공부를 할 것이다.



SQL 구문


SELECT 문

데이터를 가져오는 기본 명령어, 데이터를 조회하는 모든 Query에 사용이 된다.

select *
from animal
  • animal 이라는 테이블 앞에서 모든 열을 가져온다는 의미이다.
  • * 에 해당하는 의미가 모든 값을 의미
select animal_id as "아이디값" ,name, birth
from animal
  • as의 의미는 "별명을 붙인다" 라고 생각하면 된다.
  • 따라서 열 값의 이름에는 아이디값, name, birth의 열이 생성된다.



FROM 문

데이터를 가져올 테이블을 특정해주는 문법

select restaurant_name, price_per_plate
from food_orders
select a.order_id, a.restaurant_name, b.name, b.date
from food_orders as a inner into customers as b on a.order_id = b.order_id
  • from문에서 두 테이블을 조인하는 쿼리문을 작성할 수 있음

  • inner join, left join, right join 이 있는데, right join을 쓰지않고 left join을 많이 쓴다.

    • inner join은 두 테이블 양 쪽에 다 값이 있는 경우
    • left join은 왼쪽 테이블의 값을 기준으로 (오른쪽 테이블에 해당 값이 없을 수 있음)



WHERE 문

필터링하는 곳, 특정 조건을 통해 테이블의 조건을 걸어서 데이터를 가져온다.

필터링 할 때 유용한 표현!

  • 비교 연산
WHERE age >= 20
  • BETWEEN A and B
WHERE age BETWEEN 20 and 30

20살부터 30살 이내의 조건을 검색한다.

  • IN
WHERE age IN (10,20,30)

나이가 10살, 20살, 30살인 조건을 검색한다.

  • LIKE
WHERE name like '이%' or '%수' or '%병%'

' 이 '로 시작된 이름 or ' 수 '로 끝나는 이름 or ' 병 '이 중간에 있는 이름을 조건으로 검색한다.

GROUP BY 문

같은 값을 가진 행끼리 하나의 그룹으로 뭉쳐주게 해준다.

  • 그룹별로 나눠 테이블에 정리되게 만들어준다고 보면 된다
select * 
from customers
group by date
  • date별로 그룹화 하여 테이블을 정리한다.
    • 만약 customers의 date열에 시간들이 YYYY-MM-DD 순으로 정리되어 있다면 해당 일자별로 정리
    • YYYY-MM-DD hh:mm:ss 등.. 정리되어있다면 초 단위로 정렬



ORDER BY 문

특정 값을 기준으로 테이블을 정렬해준다.

SQL의 작성 순서는

SELECT -> FROM -> WHERE -> GROUP BY -> ORDER BY 순으로 작성을 한다.

profile
백엔드 개발자가 되고 싶어요

0개의 댓글