happy cat image

everdevel

coding

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
























everdevel이 만든 무료 클라우드 개발환경을 소개합니다.

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

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

안녕하세요.

앞에서 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개

정렬기준