codestates / codestates/ds-blog
[윤현태]INTO SQL[미완성]
- Dominant language
- No language data
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
# SQL 이란 무엇인가?
Structured Query Language, 구조화 질의어로, 관계형 데이터 베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
솔직히 말해서 SQL은 이해가 쉽지만, 익숙하지 않으면 실수가 많은 언어이고, 많이 사용되는 언어로 굉장히 활용범위가 넓으니 오늘 한번 차근차근 알아가보도록 하자.
## 사전 준비
실습을 할 파일은 northwind sample database로, https://github.com/jpwhite3/northwind-SQLite3 에서 다운로드 받아도 된다. 그리고 entity model도 확인해볼 수 있다. 필자는 tableplus를 사용했는데, create a new connection을 한 뒤에 아래와 같은 창이 뜨게 된다.

그다음에 SQLite file을 누르고, northwind.sqlite3 를 클릭하면 준비 완료!
#1. SELECT, FROM , WHERE
SQL을 하고 싶다면, 이 세개는 무조건 알아야 한다. 왜냐하면 테이블을 불러와야 그 다음 작업이 되기 때문이다. 우선 먼저, tableplus에서 어떤 테이블이 있는지 확인 하자.

정말로 다양한 테이블들이 있지만, 그중 customer 테이블을 불러와보자.

select, 즉 어떤 columns를 가져올 것인지 정하는 명령어이고, 나는 *을 함으로써 전체 columns를 선택했다. from은 어떤 테이블에서 가져올 것인지 정하는 명령어로, employee 테이블에서 가져왔다. 처음으로 employee table을 가져와본 당신, 행복하다. 그때 누군가 당신에게 다가와 물었다.
"혹시 London 출신의 employee가 누군지 이름좀 알려줄 수 있어?"
일일히 넘겨서 찾아봐도 되지만, 당신에게는 SQL이 있다! 한번 찾아볼까?

먼저, 우리는 이름이 필요하다. 그래서 columns들 중 First name, Last name만 가져오고, 어디 출신인지 보이기 위해 City도 가져온다. 그리고 정확히 London에 사는 사람들을 찾기 위해, WHERE 을 사용해 대상을 특정할 수 있다! 그렇게 총 4명의 사람들을 알려주었고, 당신에게 질문을 건낸 사람이 다시 질문한다.
# Group By
"이름만 봐서는 모르겠네... 혹시 각 도시별 employee가 몇 명인지 알 수 있을까?"
마음 같아서는 직접 알아보라고 소리치고 싶지만, SQL을 사용한다면 별거 아니다.

group by를 사용한다면, 굉장히 손쉽게 도시별로 몇 명의 employee가 있는지 확인이 가능하다!
"아, 아! 그런데 적어도 2명이상만 궁금해요! ㅎㅎ"

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.