나의 수업일지

인천 일보 아카데미 26일차 -1-그룹핑_having / date타입 문자표현 / 조인(join) / 서브쿼리(sub_query)

2023. 3. 29. 11:30
  • 전날 배운 내용 _ 다시 해보기

 

 

  • having 사용해보기 _ 문법의 우선순위 알아보기

having : 그룹한 결과에서 조건 적용 (그룹핑 했을때만 사용한다)

where > group by > having > order by 순으로 작성한다

 

 

  • date_format() - date타입을 문자로 표현하기

해당 date 타입 양식에 맞게 작성해야한다

 

 

  • 응용 문제 풀어보기

-- 1. 부서별 평균급여, 최고급여, 최저급여, 사원수 조회(평균급여는 소수점 둘째자리에서 반올림)
select deptno as '부서번호' , round(avg(sal),1) as '평균급여' 
        , max(sal) as '최고급여' , min(sal) as '평균급여' 
                , count(deptno) as ' 사원수 ' from emp 
                        -- 해당 문제 조건에 맞게 테이블을 설정해줌
                        group by deptno order by deptno asc
                        -- deptno을 기준으로 그룹화 deptno를 기준으로 정렬


-- 2. 직급별 사원수 조회(단 3명 이상인 결과만 출력)           
select job , count(empno) from emp
    -- 해당 문제에 맞게 테이블 설정
            group by job
            -- job을 기준으로 그룹화
                 having count(empno) >= 3;
                 -- having으로 그룹에 조건을 설정


-- 3. 연도별 입사한 사원수 조회(조회결과 : 연도(yyyy), 사원수)
select date_format(hiredate , '%Y') as '입사년도'
    -- date_format(hiredate , '%Y')으로 date타입을 문자로 표현
        , count(empno) as '사원수' from emp 
        -- 모두가 가지고 있어야하는 번호로 카운트(*로해도 상관없음)
            group by date_format(hiredate , '%Y');
           -- date_format(hiredate , '%Y')를 기준으로 그룹화


-- 3. 위의 결과에서 각 연도별로 부서별 입사한 사원수 조회
-- (조회결과 : 연도(yyyy), 부서번호, 사원수)
select date_format(hiredate , '%Y') as '입사년도'
    -- date_format(hiredate , '%Y')으로 date타입을 문자로 표현
        , deptno , count(empno) as '사원수' from emp 
        -- 모두가 가지고 있어야하는 번호로 카운트(*로해도 상관없음)
            group by date_format(hiredate , '%Y') , deptno;
            -- date_format(hiredate , '%Y')를 기준으로 그룹화

 

 

  • 조인(join)_알아보기

조인(join) = 내부조인 , 외부조인으로 나누어진다

내부조인 조건 2번 참고 사진

테이블 dept , emp 는 같은 컬럼 정보를 가진 deptno가 있다

그렇기 때문에 내부 조인이 가능하다

테이블에도 참조 관계라는게 있다

이해를 쉽게하자면 게시글이 없는 댓글은 있을 수 없다

댓글이 게시글의 번호라는 공통된 정보를 가지고 있기 때문에 게시글이 있어야 댓글도 존재 가능하다

emp                                                                                                         deptno

내부조인 참고 어떤 느낌인지 참고만하자

 

 

  • 조인(join)_사용해보기

-- emp , dept를 조인하여 empno , ename , deptno , dname , loc 조회
-- (단, 급여가 2500 이상인 사원만 조회하고 , 조회결과는 사원이름 기준으로 오름차순 정렬)
select e.empno , e.ename , e.deptno , d.dname , d.loc 
        from emp e, dept d 
            -- emp를 e , dept를 d로 약어 선언
            where e.deptno = d.deptno and e.sal >= 2500
                       -- e.deptno 와 d.deptno가 같고 sal이 2500 이상인것
                order by e.ename asc;
                            -- 오름차순으로 출력

 

 

  • 서브쿼리(sub query)_ 알아보기

 

 

  • 서브쿼리(sub query)_예시문

1번으로 확인하고 2번으로 찾아도 상관 없지만

서브쿼리를 적용하면 한번에 찾을 수 있다

 

 

  • 서브쿼리(sub query)_응용해보기

-- 최고 급여를 받는 사원 정보 조회
select * from emp where sal = (select max(sal) from emp);
-- 전체 emp테이블에서 sal이 제일 큰 sal과 같은 것 출력

-- allen 보다 높은 급여를 받는 사원 조회
select * from emp where sal > (select sal from emp where ename = 'allen');
-- 전체 emp테이블에서 sal 이 이름이 allen인 사원보다 높은 정보만 출력

'나의 수업일지' 카테고리의 다른 글

인천 일보 아카데미 27일차 -2- ERD란 ? / ERD 만들어보기  (0) 2023.03.30
인천 일보 아카데미 26일차 -2-서브쿼리 응용 / 제약조건 / 제약조건 확인  (0) 2023.03.29
인천 일보 아카데미 25일차 -2 table_where-2 / table_like / 형변환 / 집계함수 / 그룹화  (1) 2023.03.28
인천 일보 아카데미 25일차 - table_생성_사용하기 / table_where (조건 설정)/ table_distinct (중복제외)  (1) 2023.03.28
인천 일보 아카데미 24일차 - mysql , 데이터베이스란? , SQL 문법 분류/용어 , mysql 계정만들기  (0) 2023.03.27
'나의 수업일지' 카테고리의 다른 글
  • 인천 일보 아카데미 27일차 -2- ERD란 ? / ERD 만들어보기
  • 인천 일보 아카데미 26일차 -2-서브쿼리 응용 / 제약조건 / 제약조건 확인
  • 인천 일보 아카데미 25일차 -2 table_where-2 / table_like / 형변환 / 집계함수 / 그룹화
  • 인천 일보 아카데미 25일차 - table_생성_사용하기 / table_where (조건 설정)/ table_distinct (중복제외)
GUPING
GUPING
안녕하세요 개발자를 꿈꾸는 GUPING 입니다
GUPING
개발자를 꿈꾸는 GUPING
GUPING
전체
오늘
어제
  • 분류 전체보기 (89)
    • 나의 수업일지 (88)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파일 이름 가져오기
  • 클래스 이름 변경
  • 버튼 이벤트 변경
  • 틀만들기
  • Ajax
  • 다중프리뷰
  • 개힘드렁
  • 버튼 이벤트 함수 변경
  • naver
  • 업로드파일이름출력
  • 지식인
  • 답변 채택
  • 여러사진프리뷰
  • 검색
  • 파일이름(다중)
  • 페이징
  • Paging
  • 삭제
  • pagingAjax
  • 로그인 경고문
  • 로그인form
  • 네이버
  • 수정
  • 페이징Controller
  • PAGE
  • 검색결과페이징
  • 로그인게시판
  • 버튼2가지이벤트
  • realative
  • 파일이름가져오기

최근 댓글

최근 글

hELLO · Designed By 정상우.
GUPING
인천 일보 아카데미 26일차 -1-그룹핑_having / date타입 문자표현 / 조인(join) / 서브쿼리(sub_query)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.