<1주차>
* select from
* where
* * : 전체
* 문자열을 지칭 할 때는 반드시 ' ' 를 사용하기. 단, 숫자는 ' '사용을 하지 않는다.
ex) WHERE payment_method = 'kakaopay'
* where 절과 자주 같이 쓰는 문법
- != ~(같지 않음)
- between ~(범위)
- in ~(포함)
- like ~(패턴, %를 주로 이용)
* 일부 데이어만 가져오기 : limit ~
* 중복 제거하고 보기 : distinct(필드)
* 몇 개인지 숫자 세보기 : count(*)
<2주차>
* group by ~
* select 필드명, ( sum(~), min(~), max(~), avg(~)/round(avg(~), n) ) : 소수 n번째 자리까지 구하고 싶을때 roound 사용
* order by : 기본은 오름차순이고, 내림차순으로 쓸때는 뒤에 desc 를 붙임
* 별칭 사용하기 : from 필드명 뒤에 알파벳 한글자 or select 필드명 뒤에 as abc
ex) select payment_method, count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
<3주차>
* join : 두개의 테이블을 연결할 수 있음
-Left Join(왼쪽꺼에 오른쪽 꺼를 붙임)
ex) SELECT * FROM users u
left join point_users pu on u.user_id = pu.user_id
-Inner Join(교집합)
ex) SELECT * FROM users u
inner join point_users pu on u.user_id = pu.user_id
* count()는 NULL을 세지 않음!
* union all
<4주차>
* where절에 들어가는 subquery : where 필드명 in (subquery)
* Select 에 들어가는 Subquery : select 필드명, 필드명, (subquery) from ..
* From 에 들어가는 Subquery :
ex) select pu.user_id, a.avg_like, pu.point from point_users pu
inner join (
select user_id, round(avg(likes),1) as avg_like from checkins
group by user_id
) a on pu.user_id = a.user_id
* with절 : with 임시테이블명 as ()
* SUBSTRING_INDEX(필드명, '~', 1or-1) : 1은 ~ 앞, -1은 ~뒤를 가져온다
* SUBSTRING(필드명, x, n) : x는 몇번째 자리부터 자를 껀지, n은 몇번째 자리까지 자를껀지
* Case : case when 필드명 조건 then '~' else '~' end
카테고리 없음