본문 바로가기

개발일지

SQL을 배워보다 - ①

스파르타 코딩 클럽의 '엑셀보다 쉬운 SQL'

잘 할 수 있을까라는 고민을 갖고 듣기 시작한 SQL 강의는 생각보다 어렵지 않았다. 물론 첫 시작만ㅎㅎ

그래도 강의도 천천히 진행되고, 해당 강의 내용이 PDF로 잘 정리되어 있어 큰 어려움 없이 4주차 강의까지 완강!

이제 다시 1주차 내용부터 복습할 겸 개발일지를 작성해보려 한다. 

 

1주차

 

저장된 데이터에서 내가 원하는 데이터를 읽어오고, 그 데이터를 깔끔하게 정리 분석하도록 도와주는 SQL

처음 배운 쿼리문은 Select와 Where

- Select

데이터베이스에서 데이터를 선택해서 가져오는 Select 쿼리문 > 어떤 테이블에서, 어떤 필드의 데이터를 가져올지로 구성

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

-> select * from orders; (*는 전체)

ex) orders 테이블의 payment method 필드 가져오기

-> select payment_method from orders;

 

- Where

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

ex) orders 테이블에서 payment method가 kakaopay인 데이터 가져오기

-> select * from orders

    where payment_method = "kakaopay"; ("kakaopay" => "" 사이 문자를 필드명이나 테이블명이 아닌 문자열로 인식)

ex) orders 테이블에서 couse title이 앱개발 종합반이면서 payment method가 kakaopay인 데이터 가져오기

-> select * from orders

    where course_titlle = "앱개발 종합반" and payment_method = "kakaopay";

 

=> select * from 원하는 테이블

     where 조건

 

Cf) Where 절과 자주 쓰이는 문법

1) 같지않음                !=

2) 범위                        between

3) 포함                        in

4) 패턴(문자열규칙) like

 

- Limit

데이터 양이 많은 경우 일부 데이터만 가져오는 기능으로 limit 뒤에 원하는 데이터 출력 수 기재

ex) orders 테이블에서 payment method가 kakaopay인 데이터 5개 가져오기

-> select * from orders

     where payment_method = "kakaopay"

    limit 5;

 

- Distinct

중복 데이터는 제외하고 가져오는 기능으로 출력하고 싶은 필드에 distinct로 감싸주기

ex)  orders 테이블에서 payment method 종류 확인

-> select distinct (payment_method) from orders;

 

- Count

데이터 개수 확인하는 기능

ex) orders 테이블에 들어있는 데이터 개수 확인

-> select count(*) from orders

 

* 회원의 성씨가 몇개인지 확인하는 방법은!

Distinct와 Count 사용하여 

select distinct (name) from users;