본문 바로가기

전체 글

(301)
[SQLD][아이리포]24. 서브쿼리 | Top-N 쿼리 | ROWNUM | 순위함수 목차4. 서브쿼리4-5. Top-N 쿼리4-5-1. ROWNUM4-5-2. 윈도우 함수의 순위함수를 사용한 Top-N쿼리4. 서브쿼리4-5. Top-N 쿼리Top-N 쿼리란 조회 결과 중 상위 N개의 데이터를 조회하는 쿼리를 말한다. 대표적으로 ROWNUM을 이용하는 방법과 윈도우 함수(RANK, DENSE_RANK, ROW_NUMBER)를 이용하는 방법이 있다.1️⃣ ROWNUMROWNUM은 조회된 결과에 대해 조회 순서대로 1부터 순차적인 번호를 부여하는 의사 컬럼(Psedo Column)이다. 조회되는 순서대로 번호가 부여되므로 ORDER BY보다 먼저 적용되며, WHERE 절에서 조건이 거짓이 되는 순간 이후의 행은 조회하지 않는다. 또한 중간 번호를 건너뛰어 조회할 수 없다는 점에 주의해야 한다..
[SQLD][아이리포]23. 서브쿼리 | 윈도우 함수 | RANK | DENSE_RANK | ROW_NUMBER | PARTITION BY | SQL파티션 목차4. 서브쿼리4-4. 윈도우함수4-4-1. 순위함수4-4-1-1. RANK4-4-1-2. DENSE_RANK4-4-1-3. ROW_NUMBER4-4-2. 집계함수4. 서브쿼리4-4. 윈도우함수윈도우 함수는 각 행의 값을 유지하면서 행별로 순위, 집계 등의 연산을 수행하는 함수이다. GROUP BY와 달리 행을 하나로 묶지 않기 때문에 기존 행의 개수는 그대로 유지되며, 각 행에 새로운 값을 추가하거나 기존 값을 계산하여 반환한다. 대표적인 윈도우 함수로는 RANK, DENSE_RANK, ROW_NUMBER 등이 있으며 모든 함수는 OVER() 절과 함께 사용한다.1️⃣ 순위함수순위 함수는 데이터의 순위를 계산하여 각 행에 순위 값을 부여하는 함수이다.함수명설명예RANK동일한 값은 같은 순위를 부여하며..
[SQLD][아이리포]21. 서브쿼리 | 그룹함수 | ROLLUP | CUBE | GROUPING SETS, GROUPING 목차4. 서브쿼리4-3. 그룹함수4-3-1. ROLLUP4-3-2. CUBE4-3-3. GROUPING SETS4-3-4. GROUPING4. 서브쿼리4-3. 그룹함수그룹함수는 GROUP BY의 결과를 대상으로 그룹별 집계나 소계, 통계를 계산하는 함수이다. 대표적인 그룹 함수는 다음과 같다.- 집계함수(COUNT, SUM, AVG 등)- ROLLUP- CUBE- GROUPING SETS- GROUPING1️⃣ ROLLUPROLLUP은 GROUP BY 컬럼을 기준으로 계층적인 소계와 총계를 생성하는 함수이다. 쉽게 말해서, 아래에서 위로 올라가며 합계를 만든다고 볼 수 있다. ✔️ 특징- 계층적인 그룹핑- 소계 + 총계 생성- 1차원(계층형) 그룹핑- ex) GROUP BY ROLLUP(날짜, 이름)➜ ..
[SQLD][아이리포]19-20. 서브쿼리 | 스칼라 | 인라인뷰 | 중첩서브쿼리 | 단일행 | 다중행 | 다중컬럼 목차4. 서브쿼리4-1. 서브쿼리의 종류4-1-1. 위치에 따른 구분4-1-2. 메인 쿼리와의 관계에 따른 구분4-2. 중첩 서브쿼리4. 서브쿼리서브쿼리란 쿼리 안에 또 다른 쿼리가 들어있는 형태를 말한다. 쉽게 말해서 메인 쿼리가 실행되기 전에 필요한 데이터를 먼저 조회하는 작은 쿼리라고 생각할 수 있다.4-1. 서브쿼리의 종류1️⃣ 서브쿼리의 위치에 따른 구분종류서브쿼리가 들어가는 위치스칼라 서브쿼리SELECT문의 컬럼 입력 위치인라인 뷰FROM절의 테이블 입력 위치중첩 서브쿼리WHERE절, HAVING절의 컬럼 또는 테이블 입력 위치 🔹 스칼라 서브쿼리SELECT 절에서 하나의 값을 조회할 때 사용한다.SELECT EMP_NAME, (SELECT AVG(SALARY) FROM EMP) ..
[SQLD][아이리포]16. 관계형 데이터베이스 | SQL 함수 | 조인 | JOIN | INNER JOIN | OUTER JOIN | CROSS JOIN 목차3. 관계형 데이터베이스3-6. 조인3-6-1. JOIN3-6-2. EQUI JOIN3-6-3. Non EQUI JOIN3-6-4. INNER JOIN3-6-5. OUTER JOIN3-6-6. NATURAL JOIN3-6-7. CROSS JOIN3. 관계형 데이터베이스3-6. 조인1️⃣ JOINJOIN은 둘 이상의 테이블을 공통된 컬럼을 기준으로 하나의 결과로 조회하는 연산입니다. 관계형 데이터베이스에서는 데이터의 중복을 줄이기 위해 정보를 여러 테이블에 나누어 저장하므로, 필요한 데이터를 조회할 때 JOIN을 자주 사용합니다. ✔️ JOIN의 특징- 두 개 이상의 테이블을 하나의 결과로 조회한다.- 공통된 컬럼을 기준으로 데이터를 연결한다.- 관계형 데이터베이스에서 가장 많이 사용하는 연산 중 하나..
[SQLD][아이리포]14-15. 관계형 데이터베이스 | SQL 함수 | 조건절 | WHERE절 | 집계함수 | GROUP BY절 목차3. 관계형 데이터베이스3-4. WHERE3-5. GROUP BY3-5-1. 집계함수3-5-2. HAVING3. 관계형 데이터베이스3-4. WHEREWHERE 절은 특정 조건을 만족하는 행(Row)만 조회하거나 수정, 삭제하기 위해 사용하는 절입니다. 즉, 테이블의 모든 데이터를 대상으로 하는 것이 아니라, 조건에 맞는 데이터만 선택하여 작업할 수 있습니다. ✔️ WHERE 절의 특징- 조건을 만족하는 행(Row)만 조회한다.- SELECT, UPDATE, DELETE 문에서 사용할 수 있다.- INSERT 문에서는 사용할 수 없다.- SQL 실행 순서 상 FROM -> WHERE -> SELECT 순으로 처리된다.➜ 따라서 FROM 절에서 지정한 테이블 별명(Alias)은 사용할 수 있지만, SEL..
[SQLD][아이리포]13. 관계형 데이터베이스 | SQL 함수 | NULL | NVL | NULLIF | COALESCE | ISNULL 목차3. 관계형 데이터베이스3.3. 함수3-3-1. NULL 3-3-2. NVL3-3-2-1. 예제3-3-3. NULLIF3-3-3-1. 예제3-3-4. COALESCE3-3-4-1. 예제3. 관계형 데이터베이스3-3. 함수1️⃣ NULLNULL은 값이 없는 상태를 의미합니다. 숫자 0이나 빈 문자열('')과는 다른 개념으로, 아직 값이 입력되지 않았거나 알 수 없는 값을 나타냅니다. 📌 SQLD에서 자주 출제되는 개념이므로 반드시 구분해서 기억해야 합니다.2️⃣ NVLNVL 함수는 NULL 값을 사용자가 지정한 다른 값으로 변경(치환)하는 함수입니다. 첫 번째 인자가 NULL이 아니면 그대로 반환하고, NULL이면 두 번째 인자를 반환합니다. 💡 SQL Server에서는 NVL 대신 ISNULL 함..
[SQLD][아이리포]12. 관계형 데이터베이스 | SQL 함수 | 문자열 함수 | TRIM | LEADING | TRAILING | BOTH 목차3. 관계형 데이터베이스3-3. 함수3-3-1. TRIM3-3-3-2. TRIM - LEADING3-3-3-3. TRIM - TRAILING3-3-3-4. TRIM - BOTH3. 관계형 데이터베이스3-3. 함수1️⃣ TRIMTRIM 함수는 문자열의 앞이나 뒤에 있는 불필요한 공백 또는 지정한 문자를 제거하는 문자열 함수입니다. ✔️ TRIM의 특징- 문자열을 처리하는 대표적인 함수 중 하나이다.- 문자열의 양 끝 공백을 제거한다.- 원하는 문자를 지정하여 제거할 수도 있다.- 문자열 중간에 있는 공백은 제거되지 않는다. ✔️ 기본 사용법SELECT TRIM(' GOOD ') FROM DUAL; ➜ 실행결과🔹 TRIM - LEADINGLEADING은 문자열의 앞(왼쪽)에 있는 지정한 문자를 제..