코딩스파르타 문법 정리.
서브쿼리
- Where 에 들어가는 Subquerywhere 필드명 in (subquery) 이런 방식으로요!
- 예를 들면, 카카오페이로 결제한 주문건 유저들만, 유저 테이블에서 출력해주고 싶을 때는 아래와 같이 표현할 수 있겠죠.
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
- Where은 조건문이죠? Subquery의 결과를 조건에 활용하는 방식으로 유용하게 사용합니다.
- Select 에 들어가는 Subqueryselect 필드명, 필드명, (subquery) from .. 이렇게요!
- 앞서 보았던것처럼, '오늘의 다짐' 데이터를 보고 싶은데 '오늘의 다짐' 좋아요의 수가, 본인이 평소에 받았던 좋아요 수에 비해 얼마나 높고 낮은지가 궁금할 수 있겠죠?
- 그럼, 평균을 먼저 구해봅시다! user_id='4b8a10e6' 를 예시로!
- 그러면, 이렇게 표현할 수 있어요!
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
-
- Select 절에 들어가는 Subquery 연습해보기
- [연습] checkins 테이블에 course_id별 평균 likes수 필드 우측에 붙여보기힌트! → 이건 힌트 필요 없음! 🤓
- [코드스니펫] course_id별 평균 like수 붙여보기select checkin_id, course_id, user_id, likes, (select avg(c2.likes) from checkins c2 where c.course_id = c2.course_id) from checkins c;
- 감이 아직 안 오나요? 저랑 같이 해봐요!
- [연습] checkins 테이블에 과목명별 평균 likes수 필드 우측에 붙여보기
- [코드스니펫] 과목명별 평균 like수 붙여보기select checkin_id, c3.title, user_id, likes, (select round(avg(c2.likes),1) from checkins c2 where c.course_id = c2.course_id) as course_avg from checkins c inner join courses c3 on c.course_id = c3.course_id;
- 직전에 실습했던 것에, courses 테이블을 join 하면 되겠죠?
- Select는 결과를 출력해주는 부분이죠? 기존 테이블에 함께 보고싶은 통계 데이터를 손쉽게 붙이는 것에 사용합니다.
- From 에 들어가는 Subquery (가장 많이 사용되는 유형!)
- 자, 우선 유저 별 좋아요 평균을 먼저 구해볼까요?
- → checkins 테이블을 user_id로 group by 하면 되겠죠?
- 자, 이제 여기서 해당 유저 별 포인트를 보고 싶다면?
- → 그러면, 포인트와 like의 상관정도를 알 수 있겠죠?
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
- From은 언제 사용하면 좋을까요? 내가 만든 Select와 이미 있는 테이블을 Join하고 싶을 때 사용하면 딱이겠죠!
문자열 처리
substring, substring_index
서브쿼리
- Where 에 들어가는 Subquerywhere 필드명 in (subquery) 이런 방식으로요!
- 예를 들면, 카카오페이로 결제한 주문건 유저들만, 유저 테이블에서 출력해주고 싶을 때는 아래와 같이 표현할 수 있겠죠.
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
- Where은 조건문이죠? Subquery의 결과를 조건에 활용하는 방식으로 유용하게 사용합니다.
- Select 에 들어가는 Subqueryselect 필드명, 필드명, (subquery) from .. 이렇게요!
- 앞서 보았던것처럼, '오늘의 다짐' 데이터를 보고 싶은데 '오늘의 다짐' 좋아요의 수가, 본인이 평소에 받았던 좋아요 수에 비해 얼마나 높고 낮은지가 궁금할 수 있겠죠?
- 그럼, 평균을 먼저 구해봅시다! user_id='4b8a10e6' 를 예시로!
- 그러면, 이렇게 표현할 수 있어요!
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
-
- Select 절에 들어가는 Subquery 연습해보기
- [연습] checkins 테이블에 course_id별 평균 likes수 필드 우측에 붙여보기힌트! → 이건 힌트 필요 없음! 🤓
- [코드스니펫] course_id별 평균 like수 붙여보기select checkin_id, course_id, user_id, likes, (select avg(c2.likes) from checkins c2 where c.course_id = c2.course_id) from checkins c;
- 감이 아직 안 오나요? 저랑 같이 해봐요!
- [연습] checkins 테이블에 과목명별 평균 likes수 필드 우측에 붙여보기
- [코드스니펫] 과목명별 평균 like수 붙여보기select checkin_id, c3.title, user_id, likes, (select round(avg(c2.likes),1) from checkins c2 where c.course_id = c2.course_id) as course_avg from checkins c inner join courses c3 on c.course_id = c3.course_id;
- 직전에 실습했던 것에, courses 테이블을 join 하면 되겠죠?
- Select는 결과를 출력해주는 부분이죠? 기존 테이블에 함께 보고싶은 통계 데이터를 손쉽게 붙이는 것에 사용합니다.
- From 에 들어가는 Subquery (가장 많이 사용되는 유형!)
- 자, 우선 유저 별 좋아요 평균을 먼저 구해볼까요?
- → checkins 테이블을 user_id로 group by 하면 되겠죠?
- 자, 이제 여기서 해당 유저 별 포인트를 보고 싶다면?
- → 그러면, 포인트와 like의 상관정도를 알 수 있겠죠?
- 쿼리가 실행되는 순서를 이렇게 상상하면 편해요!
- From은 언제 사용하면 좋을까요? 내가 만든 Select와 이미 있는 테이블을 Join하고 싶을 때 사용하면 딱이겠죠!
문자열 처리
substring, substring_index