Database/SQL

·Database/SQL
데이터 조작 데이터 삽입 1. 완전한 행 삽입 이 방법은 코딩을 짧게 해도 된다는 장점이 있는 반면 데이터를 삽입하는 값의 순서가 변경될 경우 테이블이 망가질 수 있다는 위험이 있다 INSERT INTO 테이블명 VALUES (값1, 값2, 값3); 2. 열 이름과 함께 완전한 행 삽입 INSERT INTO 테이블명(열 이름1, 열 이름2, 열 이름3) VALUES (값1, 값2, 값3); 3. 부분 행 삽입 INSERT INTO 테이블명(열 이름1, 열 이름3) VALUES(값1, 값3); 4. SQL 문장 결과를 삽입 INSERT INTO 테이블명1(열 이름1, 열 이름2, 열 이름3) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명2 WHERE 조건절; 1. CUST_PARTY 테..
·Database/SQL
하위 쿼리의 이해 FROM절의 하위 쿼리 1. 조건에 맞는 대상자 선정 후 요약할 때 이 방법은 조건에 맞는 대상자를 선정한 후 데이터를 요약할 때 많이 사용된다 => 테이블 별칭을 주지 않으면 에러가 발생하기 때문에 하위 쿼리를 작성한 후 테이블 별칭을 꼭 주어야 한다 SELECT 열 이름1, 열 이름2 FROM (SELECT * FROM 테이블명 WHERE 조건절) (AS) 별칭 WHERE 조건절; 2. 테이블 조인을 할 때 테이블 조인을 할 때 필요한 정보만 조인할 수 있도록 고안된 방법이다 SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1 (AS) 별칭1 LEFT OUTER JOIN (SELECT 열 이름1, 열 이름2 FROM 테이블명 2 WHERE 조건절) (AS) 별칭2 ..
·Database/SQL
열(Column) 합치기 내부 조인 1. FROM/WHERE를 사용 내부 조인은 두 테이블의 키값이 매칭될 경우 선택된 모든 열을 나타냄 SELECT 테이블명1.열 이름1, 테이블명2.열 이름2 FROM 테이블명1, 테이블명2 WHERE 테이블명1.KEY=테이블명2.KEY; 2. FROM/WHERE와 별칭을 사용 오라클을 포함한 몇몇 DBMS는 테이블명 별칭을 줄 때 AS 키워드가 지원되지 않으므로 AS를 빼고 테이블 별칭을 설정해야함! SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1(AS) 별칭1, 테이블명2(AS) 별칭2 WHERE 별칭1.KEY=별칭2.KEY; 3. INNER JOIN을 사용 INNER JOIN을 사용하여 두 테이블을 합칠 수 있다 => ON 뒤에 두 테이블의 ..
·Database/SQL
데이터의 그룹화 GROUB BY 1. 열 이름으로 그룹화 집계 함수를 제외한 SELECT문의 모든 열은 GROUB BY절에 있어야함 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUB BY 열 이름1, 열 이름2; 2. 열 위치로 그룹화 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUB BY 1, 2; 1. PPC_201312 테이블을 사용하여 고객등급별 인당 평균 연 수익을 계산하려면? SELECT SEG, ANNL_REV FROM PPC_201312 GROUP BY SEG; 2. PPC_201312 테이블을 사용하여 카드상품과 대출상품 보유 간의 관계를 알아보려면? SELECT ..
·Database/SQL
숫자 데이터 요약하기 COUNT 함수 집계 함수 정리 1. COUNT : 행의 수를 나타냄 => NULL값을 포함한 전체 행의 수 : COUNT(*) => NULL값을 제외한 전체 행의 수 : COUNT(열 이름) => 중복을 제외한 행의 수 : COUNT(DISTINCT 열 이름) 2. SUM : 행의 합계를 나타냄 3. AVG : 행의 평균을 나타냄 4. MAX : 행의 최댓값을 나타냄 5. MIN : 행의 최솟값을 나타냄 6. STDENV : 행의 표준편차를 나타냄 7. VARIANCE : 행의 분산을 나타냄 1. STUD_SCORE 테이블을 사용하여 NULL 값을 제외한 음악 점수 보유자를 세려면? SELECT COUNT(MUSIC_SCORE) AS MUSIC_CNT FROM STUD_SCORE;..
·Database/SQL
문자/숫자/날짜 함수 배워보기 문자 함수 함수란 변수를 특정한 형태로 변화시키는 것이다 대표적인 문자 함수는 1. LOWER : 모든 문자를 소문자로 변환함 2. UPPER : 모든 문자를 대문자로 변환함 3. LENGTH : 문자의 길이를 나타냄 4. SUBSTR : 문자 값 중 원하는 길이만큼만 나타냄 5. RTRIM : 문자열 오른쪽 공백을 잘라냄 6. LTRIM : 문자열 왼쪽 공백을 잘라냄 7. TRIM : 문자열의 왼쪽, 오른쪽 공백을 잘라냄 8. REPLACE : 특정 문자열을 다른 문자열로 대체함 9. COALESCE : 조건에 따라 여러 가지 값으로 치환함 10. INTCAP : 첫 글자는 대문자, 나머지는 소문자로 변환함 가 있다! 1. VENDOR_INFO 테이블을 사용하여 이름을 소..
·Database/SQL
텍스트 마이닝(Text mining) LIKE 연산자를 활용한 필터링 1. 뒤에 나오는 문자들을 알 수 없는 경우 SELECT 열 이름 FROM 테이블명 WHERE 열 이름 LIKE '찾고 싶은 문자%'; 2. 앞에 나오는 문자들을 알 수 없는 경우 SELECT 열 이름 FROM 테이블명 WHERE 열 이름 LIKE '%찾고 싶은 문자'; 3. 앞뒤에 나오는 문자들을 알 수 없는 경우 SELECT 열 이름 FROM 테이블명 WHERE 열 이름 LIKE '%찾고 싶은 문자%'; 4. 뒤에 나오는 문자를 알 수 없는 경우 SELECT 열 이름 FROM 테이블명 WHERE 열 이름 LIKE '찾고 싶은 문자_'; 5. 앞에 나오는 문자를 알 수 없는 경우 SELECT 열 이름 FROM 테이블명 WHERE 열 ..
·Database/SQL
논리연산자 AND, OR 알아보기 AND 연산자 AND 연산자를 사용할 경우 두 가지 조건을 모두 만족하는 데이터만 출력하게 된다 => 만약 조건을 추가하고 싶다면 계속해서 AND 연산자를 사용하면 됨! SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 조건절1 AND 조건절2 1. BRNCH_INFO 테이블을 사용하여 직원 수가 10명 이상이고 경영평가가 'C'인 영업점 번호, 영업점 이름, 영업점 인원, 경영평가를 나타내려면? SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF FROM BRNCH_INFO WHERE BRNCH_NUM >= 10 AND BRNCH_PERF = 'C'; 2. BRNCH_INFO 테이블을 사용하여 직원 수가 10명 이상이고..
·Database/SQL
WHERE 조건절에 대해 알아보기 숫자 및 문자/날짜형 데이터 필터링 테이블명 다음에 WHERE를 적고 조건을 기재하면 됨! 숫자형 데이터 조건 주기 SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 비교할 열 이름=숫자; 문자/날짜형 데이터 조건 주기 SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 비교할 열 이름='문자'; 1. 가입금액이 1백만원 이상인 고객들의 고객번호, 계약번호, 가입금액을 추출하려면? SELECT ID, CNRT_NO, CNRT_AMT FROM INS_INFO WHERE CNRT_AMT >= 1000000; 2. 상품명이 '다이렉트자동차보험'인 고객들의 고객번호, 계약일, 상품명을 추출하고 고객번호는 오름차순으로 정렬하려면? SELECT ID, C..
·Database/SQL
SELECT문에서 많이 사용되는 키워드 DISTINCT 키워드 DISTINCT 뒤에 지정한 열이 한 개일 경우 SELECT DISTINCT 열 이름 FROM 테이블명; 열 이름 앞에 DISTINCT를 적으면 값의 중복 없이 출력됨 DISTINCT 뒤에 지정한 열이 여러 개일 경우 SELECT DISTINCT 열 이름1, 열 이름2 FROM 테이블명; 1. EMP 테이블에 어던 직급들이 포함되어 있는지 확인하려면? SELECT DISTINCT POSITION FROM EMP; 2. EMP 테이블에서 직급에 따라 어떤 인사고과를 받았는지 확인하려면? SELECT DISTINCT POSITION, GRADE FROM EMP; 1. DISTINCT 키워드의 반대는 ALL 키워드이다! => DISTINCT 키워드..
·Database/SQL
데이터 가져오기 지정한 열 가져오기 지정한 열이 한 개일 경우 SELECT 열 이름 FROM 테이블명; 지정한 열이 두 개 이상일 경우 (콤마를 사용하면 열 이름을 여러 개 나열할 수 있다) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명; 열 이름에는 출력하고 싶은 열 이름을 넣어주고 테이블명에는 참조를 원하는 테이블을 넣어주면 된다! 1. CLERK 테이블에서 사번을 출력하려면? SELECT ID FROM CLERK; 2. CLERK 테이블에서 사번, 이름, 생년월일을 출력하려면? SELECT ID, STAFF_NM, BIRTH_DT FROM CLERK; 1. SQL은 소문자와 대문자를 구분하지 않는다 => SELECT를 select라고 입력해도 결과값은 차이가 X (보기 쉽게하기 ..
·Database/SQL
데이터베이스란? 데이터베이스(Database)의 정의 DB란 여러 사람에게 공유되어 사용될 목적을 가지고, 구조적인 방식으로 관리되는 데이터의 집합을 이야기한다. 데이터베이스의 체계적인 관리는 데이터베이스 관리 시스템 (DBMS)을 통해 이루어진다. DBMS는 데이터를 정리하고 보관하기 위한 용도로 사용된다 => 이를 위해 데이터 추가, 변경, 삭제, 검색 등의 기능을 수행함 (대표적인 DBMS는 Oracle, MySQL, MsSQL, Teradata, SyBase 등이 있다) 데이터베이스 관리 시스템(DBMS)의 특성 DBMS는 실시간 접근성, 계속적인 변화, 동시 공용, 내용에 의한 참조 등의 특성을 지니고 있다 1. 실시간 접근성(Real-time-processing) : 컴퓨터가 접근할 수 있는 ..
JJunGyo
'Database/SQL' 카테고리의 글 목록