DB & SQL
-
2장 SQL 기초DB & SQL/SQL 레벨업 2023. 8. 4. 19:14
6. SELECT 구문 1. SELECT 구와 FROM 구 2. WHERE 구 - IN 으로 OR조건을 간단하게 작성 - NULL 레코드를 선택할 때는 'IS NULL' 이라는 키워드 사용 ㆍNULL 아닌 레코드는 'IS NOT NULL' 3. GROUP BY 구 - GROUP BY 구를 사용하면, 테이블에서 단순하게 데이터를 선택하는 것뿐만 아니라 합계 또는 평균 등의 집계 연산을 SQL 구문으로 할 수 있다. - SQL의 대표적인 집계 함수 함수 이름 설명 COUNT 레코드 수를 계산 SUM 숫자를 더함 AVG 숫자의 평균을 구함 MAX 최댓값을 구함 MIN 최솟값을 구함 4. HAVING 구 - HAVING 구를 사용하면 선택된 결과 집합에 또다시 조건을 지정할 수 있다. - 즉, WHERE 구가 ..
-
1장 DBMS 아키텍처DB & SQL/SQL 레벨업 2023. 8. 4. 19:13
1. DBMS 아키텍처 개요 1. 쿼리 평가 엔진 - 쿼리 평가 엔진 : 사용자로부터 입력받은 SQL 구문을 분석하고, ,어떤 순서로 기억장치의 데이터에 접근할지를 결정한다. - 이때 결정되는 계획을 '실행 계획'라고 부른다. - 접근 메서드(access method) : 실행 게획에 기반을 둬서 데이터에 접근하는 방법 - 한마디로 쿼리 평가 엔진은 계획을 세우고 실행하는 DBMS의 핵심 기능을 담당하는 모듈이다. 2. 버퍼 매니저 - DBMS는 버퍼라는 특별한 용도로 사용하는 메모리 영역을 확보해둔다. - 이 메모리 영역을 관리하는 것이 바로 버퍼 매니저이다. - 버퍼 매니지는 디스크를 관리하는 디스크 용량 매니저와 함께 연동되어 작동한다. 3. 디스크 용량 매니저 - 데이터베이스는 데이터를 영구적으로..
-
데이터베이스 첫걸음DB & SQL/데이터 베이스 첫걸음 2023. 7. 27. 17:17
1장. 데이터베이스란 - 용도와 역할 데이터 베이스의 4가지 기본 기능 - 데이터 조작 ( 검색 / 등록 / 수정 / 제거 ) - 동시성 제어 - 장애 대응 - 보안 2장. 관계형 데이터베이스란 - 가장 대표적인 데이터베이스 * Oracle 이나 MySQL 같은 제품은 'DBMS 이며 데이터베이스가 아니다' 가 바른 표현이다 - 데이터베이스 : 기능이나 구조를 나타내는 추상적인 개념 - DBMS : 그것을 실현하기 위해 작성된 구체적인 소프트웨어 - '데이터베이스'와 'DBMS'는 같은 의미로 사용되는 경우가 많지만, 원래는 '추상'과 '구상'이라는 차이가 있다 * 데이터베이스는 OS와 애플리케이션 사이에 낀 중간 소프트웨어(미들웨어)다. 4장. 데이터베이스와 아키텍처 구성 - 견고하고 고속의 시스템을 ..
-
데이터 분석 SQL - 서브 쿼리(Sub-query)DB & SQL/데이터 분석 SQL 2022. 10. 8. 16:30
서브쿼리(Sub-query) 개요 - 서브쿼리는 하나의 쿼리내에 또 다른 쿼리가 포함되어 있는 쿼리를 의미 - 서브쿼리는 메인 쿼리(Main Query)내에 포함되어 있는 관계 - Where절에 사용될 경우 복잡한 업무적인 조건을 직관적인 SQL로 표현하여 필터링하는데 주로 사용 select * from hr.emp where sal >= (select avg(sal) from hr.emp) 서브쿼리 유형 예시 Where 절에 사용되는 서브쿼리 - select * from hr.emp where sal >= (select avg(sal) from hr.emp) - select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.e..
-
데이터 분석 SQL - Analytic SQL 집계(Aggregate) & Window 상세DB & SQL/데이터 분석 SQL 2022. 10. 7. 10:05
집계(Aggregate) Analytic SQL - sum(), max(), min(), avg(), count() 와 같은 집계 함수를 window를 이용하여 로우 레벨로 자유 자재로 집계할 수 있는 기능 제공 (인자1, ...) OVER ( [Partition 절] -- 그룹화 컬럼명 [Sorting 절]-- 정렬 컬럼명(Window 이동방향 기준 컬럼명) [window 절]-- Window 범위(Rows, Range) ) - 집계(aggregate) 계열 analytic 함수는 order by 절이 있을 경우 window절은 기본적으로 range unbounded preceding and current row 임 - 만약 order by 절이 없다고 window는 해당 partition의 모든 ro..
-
데이터 분석 SQL - Analytic SQL 개요와 순위DB & SQL/데이터 분석 SQL 2022. 10. 6. 17:43
Analytic SQL - Group by 집계 함수 차이 - Group by는 원본 데이터 집합의 레벨을 변경해서 적용 - Analytic SQL은 원본 데이터 집합의 레벨을 그대로 유지하면서 적용 - Window를 이용하여 Row 단위의 집합 연산 수행 가능 Analytic SQL 유형 및 사용법 유형 함수 순위/비율 함수 Rank, dense_rank, row_number, Percent_rank, cume_dist, ntile 집계(Aggregate) 함수 sum, max, min, avg, count ( distinct x ) Lead/Lag Lead, Lag First_value/Last_value First_value, Last_value Inverse Percentile Percentile..
-
데이터 분석 SQL - Group by와 집계 함수(Aggregate Function)DB & SQL/데이터 분석 SQL 2022. 10. 6. 10:29
Group by 이해 - Group by 절에 기술된 컬럼 값(또는 가공 컬럼값)으로 그룹화 한 뒤 집계(Aggregation) 함수와 함께 사용되어 그룹화된 집계정보를 제공 - Group by 절에 기술된 컬럼 값으로 반드시 1의 집합을 가지게 됨 - Select 절에는 Group by 절에 기술된 컬럼(또는 가공 컬럼)과 집계 함수만 사용될 수 있음 SELECT FROM WHERE GROUP BY -- group by 적용할 컬럼명 HAVING -- group by 결과의 filtering 조건 ORDER BY select deptno, sum(sal) as sum_salary from hr.emp where job != 'SALARYMAN' group by deptno having arg(sal) ..
-
데이터 분석 SQL - Date/Timestamp/Time/Interval 타입DB & SQL/데이터 분석 SQL 2022. 10. 3. 16:35
Date 일자로서 년, 월, 일 정보를 가짐. YYYY-MM-DD Timestamp 일자를 시간 정보까지 같이 가짐. YYYY-MM-DD HH24:MI:SS Time 오직 시간 정보만 가짐 HH24:MI:SS Interval 얼마나 걸렸는지의 정보 N days HH24:MI_SS 문자열을 Date, Timestamp로 변환 to_date('2022-01-01', 'yyyy-mm-dd') 2022-01-01 to_timestamp('2022-01-01', 'yyyy-mm-dd') 2022-01-01 00:00:00.000 +0900 to_timestamp('2022-01-01 14:36:52', 'yyyy-mm-dd hh24:mi:ss') 2022-01-01 14:36:52.000 +0900 Date, T..