인프런 커뮤니티 질문&답변

J Kim님의 프로필 이미지
J Kim

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

생성자와 메서드

평소에 궁금했던 sql 문의드립니다

해결된 질문

작성

·

132

0

예시 문제학생 테이블에서 성적이 80점 이상인 학생의 이름을 뽑아라.평소 쿼리를 짤때 보면 Select 이름 from 학생Where 성적 >=80;이렇게 해왔는데, 가끔 기출이나 이런걸 보면 답지에Select 이름 from 학생Having 성적 >=80;이런식으로 having 절을 유독 사용하는데,, 답은 똑같으나 꼭 having을 사용해야하는건지 헷갈립니다.선생님 강의가 여지껏 들은 강의중 최고에요.. 딴말 필요없이 필요한거만 긁어주시네요

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,결과만 똑같이 나오면 쿼리 자체는 달라도 상관없겠습니다만,

having절은 그룹을 묶었을 때 그 세부조건으로 사용되는 쿼리입니다.

아마 문제나 쿼리가 달랐을 것 같은데 예제가 있을지 말씀 부탁드립니다.

having의 예시는 이런 겁니다.

SELECT department_id, AVG(salary) AS avg_salary 
FROM employees 
GROUP BY department_id 
HAVING AVG(salary) >= 50000; 

부서별로 묶은 상태에서 평균 급여가 50,000원 이상인 경우의 튜플들을 선택

SELECT department_id, COUNT(*) AS num_employees 
FROM employees 
GROUP BY department_id 
HAVING COUNT(*) >= 10;

각 부서에서 직원 수가 10명 이상인 부서와 직원 수 조회아마 그룹을 묶는 예시를 보신 것 같은데,

다시 발견하시면 질문 부탁드립니다.


 

덧붙여 과찬 너무 감사드립니다.

혹시 시간적 여유가 있으시면 좋은 수강평 부탁드립니다.

좋은 하루 보내세요.

주말코딩님의 프로필 이미지
주말코딩
지식공유자

인프런 UI가 바뀌었는지 줄글로 입력이 되어 이미지로 다시 붙여드립니다.(아무리 코드블럭으로 입력을 해도 이상하게 나오네요..)화면 캡처 2024-07-25 204507.png
J Kim님의 프로필 이미지
J Kim
질문자

선생님 진짜 감동입니다하나하나 성심 성의껏 대답해주시고 정말 감사합니다. 마침 쉬던 중 리뷰 남겻습니다! 앞으로 남은 며칠도 화팅!!
주말코딩님의 프로필 이미지
주말코딩
지식공유자

저거 마크다운 문법이라서 이상하게 나오네요. count(*) <- 괄호 안에 "모든 것"을 뜻하는 별표 들어가야합니다. 행복한 하루 보내세요.
J Kim님의 프로필 이미지
J Kim

작성한 질문수

질문하기