database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30907 게시물 읽기
No. 30907
고수님들 sql문 작성하는데 질문있습니다ㅠㅠㅠ
작성자
초짜
작성일
2015-12-09 01:15
조회수
7,148

회원(회원번호, 회원이름, 주소)

 

주문(주문번호, 주문날짜, 회원번호)

 

도서(도서번호, 도서명, 출판사)

 

주문내역(주문번호, 도서번호, 단가, 수량, 판매액)

 

이렇게 있을 때

 

<1> 도서별 총 판매금액이 5만원 미만인 도서의 도서명을 출력

 

<2> 각 주문번호별로 주문번호들의 평균판매액보다 높은 판매액을 가진 도서번호를 출력

 

하고 싶습니다. 그런데 도저히 어떻게 짜야할 지 감이 오지 않습니다ㅠㅠㅠ... having절도 사용해보고 from절에 하위질의를 넣어서도 생각해봤지만 제 머리의 한계인지 너무 어렵네요ㅠ

어떻게 해야할까요ㅠㅠ......부탁드립니다

이 글에 대한 댓글이 총 3건 있습니다.

-- <1> 도서별 총 판매금액이 5만원 미만인 도서의 도서명을 출력
SELECT a.도서명
  FROM 도서 a
  LEFT OUTER JOIN 주문내역 b
    ON a.도서번호 = b.도서번호
 GROUP BY a.도서번호, a.도서명
HAVING IFNULL(SUM(b.판매액), 0) < 50000
;


-- <2> 각 주문번호별로 주문번호들의 평균판매액보다 높은 판매액을 가진 도서번호를 출력
--       - 이 문제는 우리말을 해석하는게 너무 어려운데요.
SELECT 도서번호
  FROM 주문내역
 GROUP BY 도서번호
HAVING SUM(판매액) > (SELECT AVG(판매액)
                        FROM (SELECT 주문번호
                                   , SUM(판매액) 판매액
                                FROM 주문내역
                               GROUP BY 주문번호
                              ) a
                      )
;

마농(manon94)님이 2015-12-09 11:19에 작성한 댓글입니다.

감사합니다!! 문제2번에서 맨 마지막에 나온 a는 무엇을 의미하는 건가요??

초짜님이 2015-12-09 17:13에 작성한 댓글입니다. Edit

InLine View(From절 서브쿼리) 결과집합에 대한 별칭(Alias)입니다.

1번 쿼리에서 도서에 별칭 a 준거랑 동일한 기능이죠.

인라인뷰에 별칭 안주면 에러나요.

마농(manon94)님이 2015-12-09 17:53에 작성한 댓글입니다.
이 댓글은 2015-12-09 17:55에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
30910숫자를 문자로 불러오는 방법
김양훈
2015-12-27
7057
30909Ms Access 쿼리문을 MySQL쿼리문으로 바꾸려는데... [2]
지나가는행인
2015-12-16
7263
30908mysql 에러 1067 질문이요 ㅠㅠ
나낙이
2015-12-10
6807
30907고수님들 sql문 작성하는데 질문있습니다ㅠㅠㅠ [3]
초짜
2015-12-09
7148
30905db랑 mysql 같은건가요? 설치법 질문! [2]
고준호
2015-12-07
6800
30904허접이가 고수님께.. [1]
허접이
2015-12-03
6800
30903Where 절에 Function 사용시 key를 못타는 문제입니다. [2]
김학영
2015-11-26
6812
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다