happy cat image

everdevel

Be Magical

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.
























EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

방문해 주셔서 감사합니다.

필드영역에 서브쿼리 사용하기

안녕하세요.

앞에서 WHERE문에 서브쿼리를 사용해 봤습니다.

이번에는 필드영역에 서브쿼리를 사용해 보겠습니다.

use study_db 데이터베이스에 있는 student 테이블을 사용해 학습해 봅시다.

USE study_db;
field-sub-query
SELECT * FROM student;
field-sub-query

rank값과 함께 rank값의 평균값도 함께 뽑아봅시다.

평균값을 내는 함수가AVG()죠? 그래서 다음과 같은 쿼리문을 쓸 수도 있습니다.

SELECT *, AVG(rank) FROM student;
field-sub-query

위와 같이 오류가 납니다.

당연하죠. 집계함수에서 학습할 때 avg는 GROUP BY를 사용해서 해당 그룹별로 값을 구할 수 있었습니다.

이번에 전체적은 평균값을 구하려면 서브쿼리를 사용해서 구할 수 있습니다.

rank필드의 평균값을 구하려면 다음의 쿼리문을 사용하죠?

SELECT AVG(rank) FROM student;
field-sub-query

위의 쿼리문을 필드에 그대로 넣어 줍니다.

그럼 쿼리문은 다음과 같습니다.

SELECT rank, (SELECT AVG(rank) FROM student) FROM student;
field-sub-query

네, 이렇게 필드 영역에 서브쿼리를 사용하는 방법에 대해 알아봤습니다.

그런데 위에 이미지를 보면 필드명이 SELECT AVG(rank) FROM student 이렇게 되어있죠? 평균값이 이니까 avg_rank 이렇게 표시해야 더 보기가 좋습니다.

그리고 PHP에서 해당 값에 접근할 때도 SELECT AVG(rank) FROM student 이렇게 접근해야하기 때문에 상당히 불편하죠.

이 필드의 이름을 정하는 방법에 대해 다음시간에 알아볼게요.

참고로 이것은 얼라이어스(alias)라고 합니다.

현재까지의 db 백업 (아래는 현재까지의 작업을 백업한거라서 중도에 들어오신분들을 위한거에요.)

david_db smart study_db

봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준