본문 바로가기

Study/class note

(247)
sql / DCL SQL의 종류 5가지 1. Query : select 문의 6가지절, 조인, 서브쿼리, 집합연산자 2. DML : insert, update, delete, merge 3. DDL : create, alter, drop, truncate, rename 4. DCL : grant, revoke 5. TCL : commit, rollback, savepoint ㅇDCL문(Data Control Language) 권한을 부여하거나 취소하는 명령어 grant : 권한부여 revoke : 권한취소 데이터를 엑세스(access)하거나 조작하는 권한 특정 테이블의 데이터를 아무나 함부로 조회하면 안되므로 회사에서는 dba들이 권한관리를 아주 철저하게 함. 예제. 현재 접속해있는 유저가 누구인지 확인하는 방법 show..
sql / SQL을 이용해서 빅데이터 분석하기(활용) 예제126. 우리나라 남자들이 가장 많이 걸리는 암은 무엇인가?(2018년과 2021년 데이터 비교) 문제634. 2018년도에 남자들이 가장 많이 걸리는 암과 환자수와 순위를 출력하시오 select distinct 암종, 환자수, 순위 from ( select 암종, 환자수, dense_rank() over (order by 환자수 desc nulls last) as 순위 from cancer where 성별 = '남자' and 암종 '모든암') order by 순위 asc; 문제635. 2018년도에 여자들이 가장 많이 걸리는 암과 환자수와 순위를 출력하시오. select distinct 암종, 환자수, 순위 from ( select 암종, 환자수, dense_rank() over (order by ..
문제8. SQL / 마름모 출력하기 [코드를 쓴 상황] SQL로 다음과 같이 마름모를 출력하시오 [내가 쓴 코드] accept p_num1 prompt '숫자를 입력하세요~' with star1 as (select level as num1 from dual connect by level
sql / 알고리즘문제2 113 SQL로 알고리즘 문제 풀기 3(직각삼각형 출력) -- 숫자를 1부터 8까지 출력하시오 select level as num from dual connect by level
sql / 알고리즘 문제 --SQL로 숫자 1~ 10을 출력하시오 select level as num from dual connect by level 'settings_reg1'); end; / model_name => 'md_reg_model1' 이라고 회귀모델명 지정. 모델명은 임의로 지정 가능 mining_function => dbms_data_mining.regression 은 회귀모델(수치예측)을 생성하겠다라고 지정 data_table_name => 'student_score_training'은 학습할 데이터가 있는 데이블명을 지정 case_id_column_name => 'st_id'에는 primary key에 해당될만한 컬럼을 기술하면 됨 target_column_name => 'acceptance'에는 정답 컬럼(..
sql중급 / with절(subauery factoring) ㅁwith절을 썼을 때 장점 1. 대용량 데이터를 조회하는 하나의 SQL안에서 반복적으로 사용되는 쿼리문이 존재할 때 성능을 높이기 위한 방법으로 with절을 사용하면 유용함 2. 간단한 테스트를 할 때 굳이 테이블을 생성하지 않고 with절로 임시 테이블을 만들어서 테스트를 진행해 볼 수 있음. 회사에 데이터 분석가로 가면 접속해서 SQL을 실행하는 서버가 크게 2가지가 있음. 1. OLTP서버(OnLine Transaction Processing) : 실시간으로 발생하는 데이터 2. DW서버(Data Waredouse) : 그동안 쌓아온 과거 데이터 with절은 보통 DW서버에서 날림. OLTP서버에서 날릴경우 서버 터질 수 있음. 110 WITH절 사용하기 2(SUBQUERY FACTORING) 1..
sql중급 / with절 109 WITH절 사용하기 1(WITH ~ AS) --시간이 오래 걸리는 무거운 쿼리문이 하나의 쿼리문에서 반복 사용된다면? 하나의 sql에서 비슷한 select 문장이 반복되어서 나타나는 경우 with절로 작성하면 성능을 개선할 수 있음. -- (튜닝전) with절을 사용하지 않은 무거운 SQL select e1.*, e2.* from ( select deptno, sum(sal) as sumsal from emp where deptno != 20 group by deptno) e1, ( select deptno, sum(sal) as sumsal from emp where deptno != 30 group by deptno) e2 where e1.deptno = e2.deptno ; -- (튜닝후) ..
sql중급 / 데이터분석 복습 문제586. 상호명에 치킨을 포함하고 있는 상호명과 건수를 출력하시오 select 상호명, count(*) from market where 상호명 like '%치킨%' group by 상호명 order by 2 desc; 문제587. 상호명의 끝자리가 점으로 끝나고 상호명에 치킨이 포함된 상호명을 출력하시오(ㄱㄴㄷ순으로) select 상호명, count(*) from market where 상호명 like '%치킨%' and 상호명 like '%점%' group by 상호명 order by 1 asc; 문제588. 상호명 끝글자가 점으로 끝나는 상호명이 출력될 때 다음과 같이 데이터를 정제하시오. 굽네치킨은천점 > 굽네치킨 select substr(상호명,1,instr(상호명,'킨')) from mark..
sql중급 / primary key, unique, not null, check, foreign key 104 데이터의 품질 높이기 1(PRIMARY KEY) ㅇ제약(constraint)이 필요한 이유 "데이터의 품질을 높이기 위해서" 데이터 분석할 때 데이터 정제 작업에 거의 80%이상을 사용함. 데이터 정제 작업이 코딩을 못하면 노가다여서 인내를 가지고 작업해야하는데 이 작업이 코딩을 잘하면 쉽고 재밌게 할 수 있음. 근본적으로 데이터를 처음에 입력받을때부터 잘 정제해두면 나중에 정제 작업의 시간을 줄일 수가 있음. ex) 우리반 테이블 입력 시 telecom 데이터를 입력할 때 skt,sk,SKT 등 다양하게 입력되었음 > 이 경우 sql이 복잡해지고, 복잡합 sql이라도 정제할 줄 모르면 잘못된 데이터 분석을 하게 됨. 따라서 처음부터 제약(constraint)을 이용해 sk로만 입력되게 할 수 있..
sql중급/ flachback version query, transaction query 102 실수로 지운 데이터 복구하기 4(FLASHBACK VERSION QUERY) 특정 테이블의 데이터가 그동안 어떻게 변해 왔는지 이력정보를 확인할 때 사용하는 기능(insert, update, delete, merge문에 대한 변경이력정보) -- KING의 직업을 ANALYST로 변경하시오 update emp set job = 'ANALYST' where ename = 'KING'; commit; -- KING의 월급을 0으로 변경하시오 update emp set sal = 0 where ename = 'KING'; commit; -- KING의 데이터를 지우시오 delete from emp where ename = 'KING'; commit; -- 그동안 emp테이블의 데이터가 어떻게 변경이 되어..

반응형