어제 목표 & 오늘 완료한 한 일
SQL 4주차 수강 및 정리
내일 목표
- 웹개발 A to Z 3-5주차 복습 & 응용
- SQL 1-3주차 복습
배운 내용 정리
Subquery - 편하고 간단하게 원하는 데이터를 얻기 위해 사용되는 기능으로, 쿼리 안에 쿼리가 있는 것 (where, select, from 등에 들어감)
with - 반복되는 서브쿼리를 하나의 with절 블록으로 만들어 사용.
SUBSTRING_INDX - 문자열 쪼갤 때 사용
SUBSTRING - 문자열 일부만 출력할 때 사용
Case - 조건에 따라 다른 결과를 나타낼 때 사용
발생한 문제와 해결
select checkin_id,
course_id,
user_id,
likes,
(
select round(avg(likes),1) from checkins
group by course_id
) as course_avg
from checkins c
위와 같이 작성했더니 오류가 발생했다.
SQL Error [1242] [21000]: Subquery returns more than 1 row
한 개 이상의 row가 반환되었다는 것이다.
checkins가 2번 나오는게 문제라는 생각이 들어 앞에서 실행시켜봤던 비슷한 형태의 코드를 참고하였다.
where course_id = c.course_id 를 추가했더니 해결되었다.
생각해본 결과,
course_id가 2개인 것 때문에 발생했던 것인데 상위쿼리와 하위쿼리의 course_id가 같으면 이라는 부분을 추가해 문제가 해결된 것으로 보인다.
느낀점
2주차까지는 할만하다는 생각이 들었고 3주차는 조금 어려움이 있었지만 괜찮았다. 그런데 4주차는 확 어려워진 느낌이 든다.. 그만큼 다른 주차보다 실습을 더 많이, 여러 번 해볼 필요가 있을 것 같다.
'TIL & WIL' 카테고리의 다른 글
[TIL] #5. 230918 (0) | 2023.09.18 |
---|---|
[WIL] #1. 230914~230917 (0) | 2023.09.17 |
[TIL] #3. 230916 (0) | 2023.09.16 |
[TIL] #2. 230915 (0) | 2023.09.15 |
[TIL] #1. 230914 (0) | 2023.09.15 |