[스파르타 코딩클럽] 엑셀보다 쉬운 SQL - 1주차

[수업 목표]

  1. 데이터베이스(DB)와 SQL이 왜 필요한지 이해한다.
  2. DB에서 데이터를 가져오는 기초적인 문법인 Select와 Where문을 이해한다.
  3. 조금 더 복잡한 분석을 위해 자주 사용되는 유용한 문법을 익힌다.

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

데이터베이스란? 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통이라고 생각하면 됩니다.

원하는대로 데이터를 저장하고 사용하기 위해서는 다양한 기능이 있어야겠죠? 그래서 통상적으로, 모든 데이터베이스는 CRUD에 해당하는 기능을 지원해요.

C (Create): 데이터의 생성을 의미합니다
R (Read): 저장된 데이터를 읽어오는 것을 의미해요
U (Update): 저장된 데이터를 변경!
D (Delete): 저장된 데이터를 삭제하는 것을 의미해요

자, 그럼 SQL은 왜 필요할까요?
데이터를 읽어오는 과정인 "R (Read)"를 엄청나게 편하게 만들어줍니다. 그리고, 데이터를 손쉽고 깔끔하게 정리/분석하는 기능도 지원한답니다!

SQL은 Structured Query Language의 약자인데요, 결국 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어라는 의미에요!

2. Select 쿼리문이란?

쿼리(Query)문이란? 쿼리는 질의를 의미한다. 데이터베이스에 명령을 내리는 것을 의미합니다.

여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다.

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

3. 특정 데이터만 가져오고 싶다면? (Where)

Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미합니다.

select 쿼리문에 where 절을 함께 쓰기 위해서는 (1) 원하는 테이블과 (2) 조건, 이 두 가지만 기억하면 됩니다!

[꿀팁🍯] 이렇게 쿼리를 작성하면 편해요!
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기
3)
원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 조건을 걸 필드를 찾기
5) select * from 테이블명 where 조건 이렇게 쿼리 완성!

4. Where 절과 자주 같이 쓰는 문법 써보기

['같지 않음' 조건 걸어보기]

'같지 않음' 조건은 != 로 걸 수 있습니다.

잠깐 상식!
'!=' 에서 ! (느낌표)는 부정 (not)을 의미합니다. '='는 같음을 의미하니, '!='는 같지 않음이겠죠!

['범위' 조건 걸어보기]

'범위' 조건은 between 으로 걸 수 있어요.

select * from orders
where created_at between "2020-07-13" and "2020-07-15";

이렇게 하면 7월 13일, 7월 14일 주문데이터만 나옵니다.

['포함' 조건 걸어보기]

'포함' 조건은 in 으로 걸 수 있어요.

select * from checkins 
where week in (1, 3);

['패턴'(문자열 규칙) 조건 걸어보기]

'패턴' 조건은 like 으로 걸 수 있어요.

select * from users 
where email like '%daum.net';

[꿀팁🍯] Like의 다양한 사용법
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로 끝나는 모든 데이터

이외에도 여러 문법이 있는데, 그때그때 필요한 것을 찾아서 쓰면 된다.( 구글링 'how to use like in sql')

좋은 웹페이지 즐겨찾기