DAY 11. 하위 쿼리
- 하위쿼리란 SQL문장 안에 포함되는 또 다른 SQL문장을 의미
- 두 번 이상의 질의를 통해 얻을 수 있는 결과를 한 번의 질의로 해결할 수 있어, 복잡한 SQL 문장도 간단히 만들 수 있다
- 하위 쿼리 개념을 응용하면 훨씬 효율적이면서 오류를 줄일 수 있고, 빠른 처리 속도를 SQL문장을 만들 수 있음
💡 FROM절의 하위 쿼리
- 조건에 맞는 대상자 선정 후 요약할 때
- 하위 쿼리를 작성한 후 테이블 별칭을 주지 않으면 에러가 발생한다. 테이블 별칭을 줄 때 AS키워드를 사용해도 되고 생략해도 되지만, DBMS 중 ORACLE은 AS키워드를 생략해야한다.
SELECT 열이름1, 열이름2 FROM (SELECT * FROM 테이블명 WHERE 조건절) (AS) 별칭 WHERE 조건절;
- 테이블을 조인할 때
- 테이블을 조인할 때 필요한 정보만 조인할 수 있는 방법
※데이터 분석 시 키 값이 되는 열들은 중복 없이 나열하고, 좀 더 자세히 분석하려는 대상은 옆으로 붙이는 것이 매우 중요하다.SELECT 별칭1.열이름1, 별칭2.열이름2 FROM 테이블명1 (AS) 별칭1 LEFT OUTER JOIN (SELECT 열이름1, 열이름2 FROM 테이블명2 WHERE 조건절) (AS) 별칭2 ON 별칭1.KEY=별칭2.KEY;
- ※오류 발생 확률을 낮추기 위해 중복을 제거한 형태의 테이블을 만든 후 조인해야한다.
💡 WHERE 조건절의 하위 쿼리
- IN을 사용한 WHERE 조건절의 하위 쿼리
- 열 이름 뒤에 IN을 사용하여 필요한 데이터만 가져올 수 있는 방법
- 단일 결과 값일 때는 ‘=’을 사용할 수도 있지만 IN연산자가 포괄적 기능을 하기 때문에 열 이름 다음에 IN을 사용한다고 외우면 된다
SELECT 열이름1, 열이름2 FROM 테이블명1 WHERE 열이름 IN (SELECT 열이름 FROM 테이블명2 WHERE 조건절);
- 전체 모집단에서 특정 세그먼트만 추출할 때 WHERE조건절의 하위쿼리가 유용하게 사용된다. 즉, 테이블1에서 테이블2의 결과를 출력하고 싶을 때 사용된다
'💻 SQL > 🔎기초 SQL' 카테고리의 다른 글
[합격 후기] 직장인 44회 SQL 개발자(SQLD) 공부 방법 & 합격 후기 (0) | 2022.04.21 |
---|---|
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 12. 데이터 및 테이블 조작 (0) | 2022.02.03 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 10. 테이블 합치기 (0) | 2022.01.31 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 9. 데이터의 그룹화, 필터링 (0) | 2022.01.31 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 8. 함수 활용하기 (0) | 2022.01.31 |