본문 바로가기

전체 글49

[SQL입문] 14.윈도우 함수_NTILE, GROUP, ROWS [학습 목표] 1. Ntile 함수 : 지정한 n개의 그룹으로 나누고 싶을 때 2. 그룹함수 : 총합계/ 총평균을 각 행마다 보고 싶을 때 3. 지정조건 > rows : 누적 총합 / 앞 뒤 결과치를 더해서 누적합계를 보고 싶을 때 1.Ntile 함수 특정 N개의 그룹으로 나누고 싶을 때 사용 통신사 : 데이터 사용량에 따른, 고객사를 15개 그룹으로 나누고 싶다 → Ntile (15) over (order by 데이터 사용량) 인사 : 연봉이 높은 순으로, 총3개의 그룹으로 나누고 싶다 → Ntile(3) over order by 연봉) 101마리 강아지를 10개 그룹으로 나눴을 경우, extra +1은 첫 번째 그룹으로 나눠짐 select ename, sal , ntile(3) over(order b.. 2024. 2. 1.
[SQL입문] 13. 윈도우 함수_RANK,DENSE_RANK,ROW_NO [학습목표] 1.윈도우 함수 기능, 동작 방법, 특이 사항 이해 2.윈도우 함수 종류 3.윈도우 함수 지정조건 (partition by order by rows) 이해 4. Rank & Dense_Rank () 함수 사용 5. Row_number () 함수 사용 1.윈도우 함수 (Analytic Function) 최신 함수 등수부여 / 부분계산을 처리할 수 있는 함수 다른 함수는 중첩(함수 안에 함수)이 가능하지만, Window 는 중첩 함수 불가! Where, Group by 절에는 사용 불가, 오직 Select 절에만 Window 함수 적용 가능! 특이 사항 : Over 가 있을 경우는 Window 함수라는 것을 뜻! 동작 방법 : 모든 SQL 문장이 끝나고, Window 함수가 시작됨! 2. 윈도우.. 2024. 2. 1.
[SQL입문] 12. 그룹함수_Group by + Having 1. 그룹함수 (Group by + having 절) 순서 : Where + Group by (+having) + Order by Group by (+having) : Group by 절에 의해 소그룹으로 만든 후, 조건은 Having 절을 통해 적용함 Where 조건은 Group by 하기 전에 지정 조건 적용 가능 Where 조건의 범위가 < Group by 함수보다 작을 때는 → Error Group by절에서는 Alias(별칭) 사용 불가 X 2. 칼럼끼리 합 / 비교 등 그룹함수를 적용할 때 ( 컬럼에 NULL 이 있는 경우) ※ 숫자 데이터의 경우 반드시 NULL 유무를 확인해야 한다! ※ 그룹함수는 NULL 값을 숫자로 취급하지 않음. 데이터가 없는 것으로 무시함! Question: Sala.. 2024. 1. 31.
[SQL입문] 11. 그룹함수_(일반)COUNT, MAX [학습목표] 1. 그룹 함수 (Aggregation Function) 개념, 종류, 특성 살펴보기 2. 그룹 함수 사용 시 주의사항 3. Null값 포함/비포함으로 인한 결과 차이 1. 그룹 함수란? 그룹함수는 Aggregation Function 집계를 위한 함수이다. 그룹 함수는 전체 집합 중 그룹으로 분류된 집합에 작용하여 그룹 당 1개의 결과를 생성한다 2. 그룹함수 종류 그룹함수 Null 처리 방식 사용 목적 Count(*) Null 값 포함 Null을 포함한 모든 행의 수 출력 count () Null 값 자동 제외 행의 수 출력 sum () / avg () 합계, 평균 max () / min () 최대값, 최소값 stddev () / variance () 표준편차, 분산 3. 그룹함수 사용 .. 2024. 1. 31.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - Triangles (Case when함수) Q. Types of Triangles Equilateral: It's a triangle with 3 sides of equal length. (3 길이가 같은 경우) Isosceles: It's a triangle with 2 sides of equal length. (2 길이만 같은 경우) Scalene: It's a triangle with 3 sides of differing lengths. (3 길이가 다 다를 경우) Not A Triangle: The given values of A, B, and C don't form a triangle. Input Format 주의 사항 : Not equal as 같이 않을 경우! = 사용 Answer : 1. CASE WHEN &!= 사용 ※ ORACL.. 2024. 1. 31.
[SQL입문] 10.SELECT + COALESCE, DECODE, CASE WHEN [학습목표] 1. Coalesce, Decode, Case when 함수 사용 * 이상 3개 함수는 select 절에서 조건부를 적용할 때 사용하는 함수 2. Coalesces는 연속성, Decode는 정확히 같은 값인 경우에만 사용, Case when은 여러 비교 가능 1.Coalesce 함수 n번째 조건까지 지정할 수 있음 순차적으로 Null값이 아닌 것이 나올 때까지 대체하는 함수 (1) 번이 null값이면 (2) 번으로 대체, (2) 번이 null값이면 (3) 번으로 대체 2.Decode 함수 Select절에 쓰는 조건부 함수 'Equal'를 기반으로 만일 컬럼이, 특정 조건일 경우, 특정값을 나타낸다 주의사항 : 조건과 같을 경우(=) 에만 decode를 사용하며, > < 등 비교는 불가하다. .. 2024. 1. 30.
[SQL 입문] 9. SELECT + NVL / NVL2 / Null if 함수 1. NVL 함수 (Null → ▲) NULL 값인 경우 다른 값으로 변경 NVL (칼럼, 0 ) = 칼럼이 NULL값인 경우라면 0으로 변경해 주세요. 칼럼명은 "큰따옴표" 처리, 칼럼 안의 이름은 '작은따옴표' 처리 2. NVL2 함수 ( Not null, null → ▲) NULL값이 아닌경우와 NULL 값인 경우 다른 값으로 변경 NVL2 (컬럼, '통과' , '정보 없음') = NULL값이 아닌 경우 '통과', NULL값인 경우 '정보 없음' 3.Null if ( 특정값 → Null) 만일 칼럼이 '특정값'인 경우 Null 처리를 한다 문자로 쓸 경우 대소문자 주의! 2024. 1. 30.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - Average Population of Each Continent (Join) Q. Average Population of Each Continent - query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) - rounded down to the nearest integer. Method : (1) JOIN 함수를 통해 공통된 값을 찾는다 → 일반 / INNER JOIN (2) 각각의 Continent 의 평균 인구값을 찾는다 Answer : 1.일반 JOIN 사용 ※ 일반 JOIN 조건특징 ◀ JOIN이라는 단어가 없음! WHERE 절에 조건을 넣음! (1) 각각 2개 함수 작성 (2) 2개 함수 합치기 select .. 2024. 1. 29.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - African City (Join) Q. Africa City - query the names of all cities where the CONTINENT is 'Africa'. - Note: CITY.CountryCode and COUNTRY.Code are matching key columns. Method : (1) JOIN 함수를 통해 공통된 값을 찾는다 → 일반 / INNER JOIN (2) WHERE 조건절 Continent 'Africa'를 찾는다 Answer : 1. 일반 JOIN 사용 ※ 일반 JOIN 조건특징 ◀ JOIN이라는 단어가 없음! WHERE 절에 조건을 넣음! ※ ORACLE MYSQL 함수 동일 적용 가능 SELECT CITY.NAME FROM CITY, COUNTRY WHERE CITY.COUNTRYCODE.. 2024. 1. 28.
[SQL 입문] 8. 변환함수 + TO_CHAR [학습 목표] 1. 날짜 데이터 → 문자 데이터 변환, 문자화 표기 '작은 따옴표'가 있는 경우 : 문자 ( '00700' 문자 , 00700 숫자) 2. To_char를 통한 셀 서식 변경 3. 문제 : "12월에 입사한 사람"의 이름과 입사일 찾기 (To_char & Extract 함수 사용) 1. To_char를 통한 문자 표기 (년도 / 월 / 요일 지정 표기) select hiredate , to_char (hiredate, 'YYYY') as "문자 년도 표기" , to_char (hiredate, 'YYYY/MM/DD') as "문자 년/월/일 표기" , to_char(hiredate, 'DAY') as "요일" from emp; 2.To_char를 통한 셀 서식 변경 select sal ,.. 2024. 1. 26.