sql

스파르타 코딩 클럽 SQL 1주차 개발일지 220531

야언 2022. 5. 31. 22:55

[수업 목표]

1. 데이터베이스(DB)와 SQL이 왜 필요한지 이해한다.

2. DB에서 데이터를 가져오는 기초적인 문법인 Select와 Where문을 이해한다.

3. 조금 더 복잡한 분석을 위해 자주 사용되는 유용한 문법을 익힌다.

 

데이터베이스(DB)와 SQL이 왜 필요할까?

많은 양의 데이터를 효과적으로 저장/ 수정/사용하기 위해서는 데이터베이스가 필요. 

 

데이터베이스(DB)의 기능

C (Create): 데이터의 생성

R (Read): 저장된 데이터를 읽어오는 것

U (Update): 저장된 데이터를 변경

D (Delete): 저장된 데이터를 삭제

 

SQL(Structured Query Language)은 데이터를 읽어오는 과정인 R (Read)를 편하게 만들고, 데이터를 손쉽고 깔끔하게 정리/분석하는 기능을 지원한다.

 

 

 

Select 쿼리문의 개념

 

쿼리(Query)문 - 데이터베이스에 명령을 내리는 것

Select 쿼리문 - 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미.

Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지 로 구성된다.

 ex) orders 테이블의 데이터 가져와보기

    select * from orders;  (혹은 필요한 필드만 조회하려면 해당 필드명을 ,로 구분)

 

Where 절의 개념

 

Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것

 ex) orders 테이블에서 결제방식이 kakaopay인 데이터 가져오기

   select * from orders

   where payment_method = "kakaopay";

 

※ kakaopay를 필드명이나 테이블명이 아닌 문자열로 인식시키기 위해 큰따옴표를 붙인다

 

and 연산자 - 조건을 추가

 

비교 연산자 

 연산자 앞뒤에 있는 데이터 값을 비교하는 데 사용한다. 문자열은 알파벳 순서로 문자열의 대소를 비교한다.

    ex) >, >=, <, <=

 

 +등가 비교 연산자 : 연산자 양쪽 항목이 같은 값인지 검사하는 연산자

    ex) = , !=, <>, ^= : =를 제외한 3개는 모두 같은 의미 (≠)

 

범위 조건 - between 

  ex)7월 13일, 7월 14일 주문데이터 가져오기

   select * from orders

   where created_at between "2020-07-13" and "2020-07-15";

 

포함 조건 - in

 

패턴 (문자열 규칙) 조건 - like

ex) like의 사용법

  where email like 'a%': email 필드값이 a로 시작하는 모든 데이터

  where email like '%a' email 필드값이 a로 끝나는 모든 데이터

  where email like '%co%' email 필드값에 co를 포함하는 모든 데이터

  where email like 'a%o' email 필드값이 a로 시작하고 o로 끝나는 모든 데 이터

 

일부 데이터만 가져오기: Limit

 

중복 데이터는 제외하고 가져오기: Distinct

 

몇 개인지 숫자 세보기: Count

 

[응용] Distinct와 Count를 같이 써보기

 ex) 회원들의 성(family name)씨의 개수 세보기

  SELECT count(distinct(name)) from users;

 

※ 같이 삽질해보기

SQL을 사용하다보면 예상하지 못했던 에러를 자주 마주하게 된다.

에러 메시지를 보고 원인을 파악하여 문제를 해결해 나가자.