• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

질문드립니다!

20.07.12 16:20 작성 조회수 92

0

마지막 강의 [실전] 실제 수집/저장된 데이터로 데이터 분석하기 (복합검색)에서 예제 중 다양한 복합쿼리 연습문제

판매자별, 베스트상품 갯수, 평균할인가격, 평균할인율을 베스트상품 갯수가 높은 순으로 출력해보기 (다양한 SQL 문법 활용)

문제에서 굳이 innerjoin을 하는 이유가 무엇인가요?

SELECT items.provider, count(*), avg(items.dis_price), avg(items.discount_percent)

FROM items

GROUP BY items.provider

ORDER BY COUNT(*) DESC;

를 써도 같은 결과가 나오지 않나요??

답변 1

답변을 작성해보세요.

0

안녕하세요.

오... 잘하시네요. 일단 SQL 도 마찬가지로 동일한 기능을 위해 이렇게 작성해도 되고, 다르게 작성해도 됩니다. 다만, innerjoin 을 쓰는 방식이 SQL 에서 가이드한 정석적인 방법입니다. 그래서 SQL 기본에 맞추어 정석적인 방법으로 SQL 문을 쓴 것이고요.

말씀하신 SQL 예는 정석적인 방법은 아닌데, 보통의 데이터베이스, 특히 mysql 에서는 말씀하신 것처럼 테이블이름.컬럼명 과 같은 형태를 지원해서, 보다 간편한 방법을 제공은 하고 있습니다. 데이터베이스마다 굉장히 다양한 문법을 제공하고 있고, 그런 문법들은 데이터베이스가 업데이트되면, 변경되는 경우도 있습니다.

감사합니다.