전체 글 (267)


[SQLD] ROLLUP

[SQLD] ROLLUP

ROLLUP 은 소계나 합계가 필요한 경우 사용하는 구문이다.ROLLUP은 컬럼 순서대로 소계를 만든다. 컬럼 순서가 달라지면 소계의 결과도 완전히 다르게 나온다. (주의)그래서, 소계가 필요한 컬럼과 우선순위가 무엇인지 판단해야 한다. - GROUP BY와 ROLLUP의 차이SELECT TO_CHAR(T1.ORD_DT,'YYYYMM') ORD_YM ,T1.CUS_ID ,SUM(T1.ORD_AMT) ORD_AMTFROM T_ORD T1WHERE T1.CUS_ID IN ('CUS_0001','CUS_0002')AND T1.ORD_DT >= TO_DATE('20170301','YYYYMMDD')AND T1.ORD_DT GROUP BYROLLUP(TO_CHAR..

[SQLD] HAVING

[SQLD] HAVING

Having절은 'Group by'가 수행된 결과에서 조건을 주고자 할 때 사용한다. Where절과 하는 기능은 같다. 당연히 WHERE절처럼 AND나 OR 사용이 가능하다.반드시 Group by 절 뒤에 위치해야 하며, 만약 Order by절이 있다면 그 앞에 위치해야 한다. (주의)HAVING 절에는 GROUP BY에서 사용한 컬럼이나, 집계함수를 사용한 컬럼만 사용이 가능하다.일반 컬럼을 사용하면 에러난다.

[SQLD] COUNT 집계 함수

[SQLD] COUNT 집계 함수

1. COUNT 집계함수는 NULL 값을 0으로 카운트한다.SELECT COUNT(COL1) CNT_COL1 ,COUNT(COL2) CNT_COL2 ,COUNT(COL3) CNT_COL3 실행한 결과는.. - COL1에는 NULL 값이 없으니 결과는 2 - COL2는 모두 NULL 이니 결과는 0 - COL3는 하나만 NULL 이니 결과는 1 2. COUNT(*)는 Row를 구성하는 컬럼이 모두 NULL 이어도 1로 카운트 한다. (주의) 왜냐면, count(*)은 컬럼에 들어있는 값을 카운트 하는 것이 아니라, 로우(레코드) 자체를 카운트하기 때문이다.select count(*) FROM ( select NULL COL1 from dual ..

SQLD 불합격 하는 분들을 위한 조언

SQLD 불합격 하는 분들을 위한 조언

노랑이 책도 좋고, 무슨 책이든 좋은데 직접 해보세요.가끔 보면 눈으로 문제를 풀고 왜 그렇게 나오는 지 암기(?) 하는 분들이 있던데 좋은 방법이 아닙니다.part1은 암기가 필요하지만, part2는 반드시 본인이 쿼리를 실행해보고, 결과를 확인해야 합니다.눈으로 보는 것은 아무 소용 없습니다.그리고 이 자격증 왜 따는 지도 생각해봐야 합니다.현재 하는 직무에 도움을 받고 데이터분석 등 업무에 기본기를 잡기 위한 것인지, 아니면 취업 등에 유리해서 취득해 두려하는 것인지 목적이 분명해야 합니다.전자든, 후자든 나중에 데이터베이스 관련 업무 하려고 하는 것 아닌가요?그렇다면 목적이 자격증 취득이 되어서는 안됩니다. 자격증 가지고 있으면 뭐해요. 쿼리문 하나 제대로 파악 못하고, 업무에 활용할 정도의 실력..

중소병원을 데이터베이스 접근제어 및 접속기록 프로그램 개발

중소병원을 데이터베이스 접근제어 및 접속기록 프로그램 개발

보안 인력이 없거나, IT예산의 제한으로 인해 상용 데이터베이스 접근제어 시스템을 구축하지 못하는 병원도 많은 것으로 안다. 주로 DB Safer와 같은 제품을 고려하지만, 구입 및 유지보수 비용이 만만치 않고 제공하는 기능과 정책을 온전히 의료정보시스템이나 운영 DB에 적용하지 못하는 경우도 있다. 그래서 간단하게라도 적용이 가능한 프로그램을 작성해 보았다. 제일 중요한 기능은 1) 개인정보나 고유식별정보가 들어가 있는 테이블 및 컬럼을 식별 (의료기관은 주민등록번호를 수집한다) 2) 주요 테이블을 등록하여 접근하는 경우 안전조치의무에서 규정하는대로 접속기록을 남기는 것. 3) 야간 시간대나 주요직무자가 아닌 사용자의 개인정보 테이블 접근을 제한 4) 데이터베이스 감사 5) 암호화 여부 확..

우분투에서 Mariadb 설치

SQLD 공부하려면, 데이터베이스를 설치해야 하므로 설치 방법도 알아두면 좋다. https://blog.naver.com/kohs_/224357517351 우분투에서 MariaDB 설치● 마리아 DB 설치 1) 설치명령어 : #sudo apt intstll mariadb-server 2) 활성화 확인 : #systemctl sta...blog.naver.com 만약 VMware에 설치하여서 datagrip과 같은 툴로 접속하려면 우분투 방화벽에서 막혀서 접속이 안될 것이다. 아래와 같이 설정을 변경하도록 한다. 들어가서 bind-address = 127.0.0.1 로 되어 있다면 로컬호스트에서만 접속이 가능한 상태로 설정된 것이다. 0.0.0.0 으로 변경해주고 저장하면 된다. db 서비스를 재시작한..

[해설서] 클라우드서비스 보안인증기준 해설서(26.07)

- 개정사항 - ○ 공통 요구사항(관리적, 물리적, 기술적)과 공공부문 특화 요구사항의 식별·분리 → 공통 요구사항에 혼재되어 있던 공공부문 특화 요구사항을 14번 항목으로 일원화 ○ 국내·외 보안기준과의 정합성 확보 및 근거체계 재정비 → 기존 법령 중심의 근거 항목을 삭제하고, ISMS-P, ISO27001, ISO27017 등 국내·외 보안기준 관련 항목으로 대체 ○ 점검 목적 신설 및 클라우드 운영환경 반영을 통한 평가 취지 명확화 → 기준별 점검 목적을 신설, 클라우드 운영환경 변화에 따른 해설을 보완 등 출처: https://isms-p.or.kr/ntcn/rcsrm/selectGnrlVrtlRcsrmDetail.do

[안내서] 개인정보보호 전송요구권 안내서 (개정 26.6)

[안내서] 개인정보보호 전송요구권 안내서 (개정 26.6)

개정내역 : 본인전송요구권 확대에 따른 개정 사항 1. 적용 대상 및 분야 확대교육 및 고용 분야 확대: 기존 의료, 통신 등에 이어 대학(학적·성적 정보)이나 고용정보원(구직 정보)의 데이터를 제3자에게 전송할 수 있도록 대상을 넓혔습니다. 청년층 맞춤형 서비스 지원: 이를 통해 대학 졸업생이나 취업 준비생이 직접 서류를 발급받지 않고도 맞춤형 일자리 매칭 서비스 등에 데이터를 바로 전송할 수 있게 되었습니다. 2. 정보전송자(기업·기관)의 부담 경감보관 의무의 중계기관 이관: 데이터를 보유하고 전송해야 하는 기관(본인대상정보전송자)이 부담하던 '전송내역 보관 의무'를 중계전문기관이 대신 수행할 수 있도록 허용했습니다. 확인 방법 게재: 전송요구 내역 확인 방법 등을 누리집(홈페이지)에 명확히 게재하도..