SQL 공부(ft.sparta)/2주차 (10) 썸네일형 리스트형 2주차 끝 숙제 숙제. 다음 시간에 테이블1, 테이블2를 동시에 활용하는것을 배울꺼라 좀 복잡하겠다. 2-8. 이외의 유용한 문법 배워보기 이번 시간엔 별칭 Alias에 대해 배워보겠다. 우선 한번 봐보자. 이게 코드가 길어지면 어느 course_title을 가르키는지 모를수도 있다. 그래서 이 테이블에 별칭을 붙일 수 있다. 바로 뒤에 테이블 orders 의 o 를 붙여줬다. 그러면 사용하는 방법은 아래와 같다. 이게 첫번째 별칭이다. 좀 더 명확하게 명령을 내릴 수 있다. 두번째는 먼저 group by로 묶어주자. 보면 그냥 count는 보기가 안좋다. 그래서 as 를 count 뒤에 붙이면 as 뒤에 붙은 별칭을 사용하게 된다. 2-7. Order by, Group by 같이 연습해보기 먼저 order by 연습해보기. 먼저 order by는 숫자뿐만이 아닌 문자열도 가능하다. 그리고 날짜순도 가능하다. 이번엔 group by 연습하기 퀴즈이니 직접 해보는게 좋다. 1.앱개발 종합반의 결제수단별 주문건수 세어보기 2.gmail 을 사용하는 성씨별 회원수 세어보기 3.course_id 별 '오늘의 다짐'에 달린 평균 like 개수 구해보기 다음시간에는 한가지 더 query를 좀 더깔끔하게 쓰고 보는 것을 해보겠다. 2-6. 같이 삽질해보기 2-5. WHERE와 함께 사용해보기 where절과 group by , order by 함께 사용해볼꺼다. 먼저 우리가 해볼것은 웹개발 종합반의 결제수단별 주문건수 세어보기 를 해보자. 1.웹개발 종합반의 결제수단별 주문건수 세어보기 일단 결제수단별 주문건수 세어보기 먼저 한번 해보자. 이렇게 하면 몇개씩 있는지 알 수 있겠다. 이번엔 웹개발종합반에 대해 해보자. 먼저 다 지워주고 다시 처음부터 해보자. 우선 orders 테이블을 한번 봐보자. select * from orders 그리고 나서 웹개발 종합반을 찾아보자. select * from orders where course_title = '웹개발 종합반' 그리고 나서 group by를 붙여준다. select payment_method,count(*) from orders where c.. 2-4. Order by - 깔끔한 정렬 이번에는 결과를 정렬해보자. 먼저 이름별로 카운트하는것을 해놓는다. 위 사진의 결과를 정렬을 하고 싶은 거다. 정렬은 맨 마지막에 하는거다. 이렇게 하면 작은수부터 나온다. 내림차순으로 하려면 뒤에 desc 를 붙여준다. order by는 이런식으로 쓰인다. order by는 group by와 같이 묶여서 나오는 얘가 아니다. 이번에 like로 확인해보면, 이런식으로 좋아요가 많은순으로 차례로 나온다. 이렇게 order by는 정렬이므로 제일 마지막에 쓰인다. 다음시간엔 where 과 gourp by가 어떻게 같이 쓰이는지 알아보겠다. 2-3. Group by 기능 알아보기 우선 checkins 테이블을 한번 봐보자. select * from checkins limit 10 checkins는 주차별로 간단한 코멘트를 남긴 것을 다른 사람들이 좋아요를 누를수있는 거다. 이 테이블을 사용할 꺼다. 첫번째는 주차별 '오늘의 다짐' 개수 구하기를 할꺼다. select week, count(*) from checkins group by week 혹시 모르니 where문으로 동일한지 확인해 보자. select * from checkins where week = 1 똑같이 1주차가 96개인것을 확인 할 수 있다. 두번째는 주차별로 '오늘의 다짐'의 좋아요 최솟값을 구할꺼다. select week, min(likes) from checkins group by week 1주차는 0개, 2주.. 2-2. SQL 쿼리가 실행되는 순서 1.users 테이블 전체 불러오기 select * from users 2.users 테이블에서 '신'씨를 가진 데이터만 불러와서 개수 살펴보기 select * from users where name = '신**' 3.group by 를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기 select name, count(*) from users group by name 퀴즈 where 절을 함께 쓰고 싶다면? 예를 들어 naver.com을 쓰는 사람들 중 성씨별로 몇명있는지 보고싶다. select name, count(*) from users where email like '%naver.com' group by name 강사님이 그냥 넘어가셨지만 이렇게 쓰지 않을까 추측해본다. 이전 1 2 다음