수업기록 5차.
01. 서브쿼리 (Sub-Query) : 하나의 쿼리 안에 포함된 또 하나의 쿼리.
1) 서브쿼리의 특징
- 알려지지 않은 기준을 이용한 검색에 유용 ex. 연봉이 상위 5%인 여성 직원
- 메인 쿼리가 실행되기 이전에 한 번만 실행됨. 한 문장에서 여러 번 사용 가능.
- 오로지 select문으로만 작성할 수 있으며 괄호와 함께 사용. order by절은 사용 불가.
⭐ 메인쿼리 / (SELECT 컬럼 FROM 테이블 WHRER 조건='');
ex. 사원번호가 7인 사원보다 나이가 어린 사원의 모든 퀄럼을 조회하려면?
=> SELECT *
FROM emp
where birthdate >
(select * from emp where emp_no=7);
2) 단일행 서브쿼리 : 결과가 1개만 나오는 서브쿼리
ex. 사원번호가 1인 사람보다 급여가 높은 사람의 컬럼은? = 1명뿐
=> SELECT *
FROM employee
WHERE sal >
(SELECT sal FROM employee WHERE emp_no=1);
주의 : >와 =를 같이 써야할 때는 반드시 =가 뒤에 온다.
3) 다중행 서브쿼리 : 결과가 2개 이상 나오는 서브쿼리
ex. 반에서 키가 160cm가 넘는 학생의 데이터? = 여러명이 있을 수 있음.
ex. 각 부서에서 급여를 제일 많이 받는 사원을 조회하는 쿼리
=> SELECT *
FROM emp
WHERE sal =any (하나라도 만족하는 사람은 다 출력)
(SELECT MAX(sal) FROM emp GROUP BY deptno);
all과 any의 차이 비교
< any -> 최대값
< all -> 최소값
4) 스칼라 서브쿼리 : SELECT 절에서 사용하는 서브쿼리. 오로지 한 행만 반환한다.
-> JOIN과 비슷한 결과가 나타나지만, 더 빠르게 데이터를 추출할 수 있어서 사용
⭐ SELECT 테이블 / (SELECT 컬럼1 FROM 테이블 WHRER 조건=''); / AS 별명 FROM 테이블
[TIP] 테이블명이 길 경우 별명을 지어줄 수 있다 -> as 별명
ex. 아래 캡쳐 참조
드디어 1강 마지막 수업까지 완강! 마지막의 서브쿼리는 좀 명령어가 길어서 어려웠다 ㅠㅠ 풀이영상 없이는 제출을 못했을 과제도 좀 있었다. 학습한 내용을 잊어버리지 않도록 좀 더 활용할 수 있는 방법이 있을까, 를 고민하게 된다. 기세를 몰아 바로 2강을 향해 :-)
👇엘리스 코딩교육이 궁금하다면👇
엘리스 내일 패스, 가볍게 코딩 시작
엘리스 내일 패스를 통해 파이썬, SQL을 활용한 데이터 분석부터 웹개발, R 등 핫한 개발 주제들을 쉽고 편하게 수강할 수 있습니다.
kdc-elice.imweb.me
'[커리어] 에디터의 자기계발 > [도전] 비전공자 코딩 학습기록' 카테고리의 다른 글
[코딩 공부] 엘리스 SQL강의 수강일지 2강 2장 - JOIN 심화 (0) | 2022.03.06 |
---|---|
[코딩 공부] 엘리스 SQL강의 수강일지 2강 1장 - 집합 연산자&계층형 질의 (0) | 2022.03.02 |
[코딩 공부] 엘리스 SQL강의 수강일지 1강 4장 - 데이터의 그룹화 (0) | 2022.02.27 |
[코딩 공부] 엘리스 SQL 강의 수강일지 1강 3장 - 함수 (0) | 2022.02.24 |
[코딩 공부] 엘리스 SQL 강의 수강일지 1강 2장 (0) | 2022.02.23 |
댓글