[목표]
📌 원하는대로 데이터를 저장하고 사용하기 위해서 모든 데이터베이스는 CRUD에 해당하는 기능을 지원한다.
C (Create): 데이터 생성
R (Read): 저장된 데이터 읽기
U (Update): 저장된 데이터 변경
D (Delete): 저장된 데이터 삭제
📌 SQL(Structured Query Language)은 데이터베이스에 요청 (Query)을 보내서 원하는 데이터를 가져오는 데 도움을 주는 언어이다.
📌 쿼리(Query)문이란 데이터베이스에 명령을 내리는 것을 의미한다.
여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미한다.
Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지 로 구성된다.
📌 Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미한다.
💡 Select 쿼리문에 Where 절 함께 써보기 팁
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select from 테이블명 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 조건을 걸 필드를 찾기
5) select from 테이블명 where 조건 이렇게 쿼리 완성!
'같지 않음' 조건: !=
```sql
select * from orders
where course_title != ''
```
'범위' 조건: between
```sql
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
```
'포함' 조건: in
```sql
select * from checkins
where week in (1, 3);
```
'패턴' (문자열 규칙) 조건 걸어보기: 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로 끝나는 모든 데이터
= 안붙였는지 확인하기
select * from users
where email like '%[daum.net](http://daum.net/)';
select * from orders
where payment_method = 'kakaopay'
limit 5
select distinct(payment_method) from orders
select count(*) from orders
where payment_method = 'kakaopay'
SELECT count(distinct(name)) from users;
✏️ naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기
select * from orders
where email like '%naver.com'
and course_title = '웹개발 종합반'
and payment_method = 'kakaopay'