스파르타 코딩 클럽의 '엑셀보다 쉬운 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;