어제 목표와 오늘 완료한 한 일
- 웹개발 A to Z 3주차 복습 & 응용
SQL 3주차 수강 및 정리
내일 목표
- SQL 4주차 수강 및 정리
배운 내용 정리
left join - 왼쪽에 있는 것을 기준으로 테이블을 합치는 것
inner join - A 테이블과 B테이블의 교집합 부분을 기준으로 합치는 것
union - 여러 개의 select 문을 하나로 합치고 싶을 때 사용
발생한 문제와 해결
select u.name, u.email, count(*) as cnt from users u
inner join orders o on u.user_id = o.user_id
group by u.name
where u.email like '%naver.com'
위처럼 코드를 입력했는데
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where u.email like '%naver.com'' at line 4
Error position: line: 3
이러한 에러가 발생하였다. 에러가 발생한 부분이 3번째 줄이라는 것을 보고 3번째 줄을 봤는데 아무런 문제가 없다고 느꼈다. 그러다가 혹시 group by와 where절의 순서 때문인가? 라는 생각때문에 3, 4번째 위치를 바꿨더니 문제가 해결되었다.
느낀점
select문 같은 경우에는 가장 앞에 와야한다는 것을 알았지만 where, group by의 순서는 바뀌어도 실행되는데 크게 문제가 없을 것이라고 생각했는데 아니었다.. 이번에 실습, 퀴즈 등을 하면서 헷갈리거나 어렵다고 느껴지는 부분이 있었는데 그 부분들을 다시 한 번씩 해보고 유심히 봐야겠다.
'TIL & WIL' 카테고리의 다른 글
[TIL] #5. 230918 (0) | 2023.09.18 |
---|---|
[WIL] #1. 230914~230917 (0) | 2023.09.17 |
[TIL] #4. 230917 (0) | 2023.09.17 |
[TIL] #2. 230915 (0) | 2023.09.15 |
[TIL] #1. 230914 (0) | 2023.09.15 |