본문 바로가기

SQL

(9)
SQL 초보자 Day 9 정리 ※ 정렬 └ 버블 정렬 : 서로 인접한 두 요소의 크기를 서로 비교하여 순서에 맞지 않은 요소를 인접한 요소와 서로 교환하며 정렬하는 방법 └ 삽입 정렬 : 두 번째 원소로부터 시작하여 그 앞 원소들과 비교하여 삽입할 위치를 지정한 후 원소를 뒤로 옮기고 지정한 자리에 원소를 삽입하여 정렬하는 방법 1) SQL 머신러닝 1 - NAIVEBAYES - 나이브 베이즈의 머신러닝 목표 : '분류' ⇒ MINING_FUNCTION을 DBMS_DATA_MINING.CLASSIFICATION으로 설정 - 훈련 테이블 식별 컬럼인 환자 번호를 CASE_ID_COLUMN_NAME의 매개변수 값으로 지정 ㆍWinequality 데이터 정리 - idx가 1570*0.7 밑인 행들을 TRAIN 데이터로 두고 예측 시행 - ..
SQL 초보자 Day 8 정리 1) PROCEDURE - 프로시저에서 '새 프로시저'를 통해 프로시저 생성 ㆍ"홀수/짝수 구분 프로시저" ㆍ"급여를 기준으로 메시지 출력 (IF~ELSIF~ELSE)" ㆍ"구구단 2단 출력 (LOOP)" - v_count 에 숫자 0을 할당 → loop문을 통해 v_count에 할당된 숫자를 1씩 증가시켜 1~9로 실행 - exit when 절으로 loop문 탈출 ㆍ"구구단 3단 출력 (WHILE LOOP)" - WHILE LOOP 문이 TURE인 동안 LOOP문 수행 (v_count가 9 미만인 동안) - exit when 절 X ㆍ"구구단 4단 출력 (FOR LOOP)" ㆍ"구구단 전체 출력 (이중 LOOP)" ㆍ"부서 번호 입력 시 해당 부서 사원명, 급여, 부서 번호 출력 (CURSOR)" - ..
SQL 초보자 Day 7 정리 1) REGEXP (정규표현식) ㆍ문자 구분 - 단어로 구분할 때에는 REGEXP_SUBSTR( ~ , '[^ ]+', 1, a) FROM DUAL ( SELECT level a from dual connect by level
SQL 초보자 Day 6 정리 1) Primary Key ㆍ"부서번호(PK), 부서명, 장소를 열로 갖는 테이블 dept2 생성" - PK (Primary Key) : 중복 X, NULL값 X - UK (Unique Key) : 중복 X, NULL값 O - CK (Check Key) : 값의 크기·범위 이용해 조건에 맞는 값만 O - ALTER TABLE 구문, CONSTRAINT ~ primary key 구문을 이용해도 같은 결과 2) ALTER TABLE ㆍ"sample 테이블을 생성하고 loc 열을 추가" (sample 테이블 - deptno(4자리, 고유값), dname(가변문자 10자리), loc(가변문자 14자리)) - ALTER TABLE 테이블명 ADD ~; 로 추가 ㆍ"loc 크기 20으로 변경 후 location으로..
SQL 초보자 Day 5 정리 1) 데이터 삽입 (INSERT) ㆍ사원 테이블에 " '사원번호 : 2812 / 사원명 : JACK / 급여 : 3500 / 입사일 : 2003-04-04 / 직업 : ANALYST' 데이터 추가" - INSERT INTO 테이블명(컬럼1, 컬럼2, ... ) VALUES (값1, 값2, ...) ; - INSERT INTO 테이블명 VALUES (값1, 값2, ... ); : 단, 원 데이터 순서에 맞아야 함 + 모든 column에 값을 적어야 함 2) 데이터 수정 (UPDATE) ㆍ사원 테이블에서 "JACK의 급여를 3200, 부서번호를 10으로 수정" 출력 - UPDATE 테이블명 SET 컬럼1=값1, 컬럼2=값2, ... WHERE 조건; ㆍ사원 테이블에서 "JACK의 급여를 SCOTT의 급여와 ..
SQL 초보자 Day 4 정리 1) ROWNUM ㆍ사원 테이블에서 "사원명, 급여 상단 5개 행만" 출력 - ROWNUM between 1 and N : 첫 번째 행부터 N 번째 행까지 출력 (1부터만 출력 가능. 앞 숫자가 1이 아니면 출력 X) 2) 출력 행 제한 (FETCH FIRST, OFFSET) ㆍ사원 테이블에서 "사원번호, 이름, 직업, 급여를 급여 내림차순 정렬으로 5번째~8번째 사원의 정보" 출력 - OFFSET n rows : n+1 번째 행부터 출력 - FETCH FIRST n rows only : n개의 행 출력. n 자리에 'n percent' 를 넣어 비율 지정도 가능 - FETCH FIRST ~ only 자리에 with ties 옵션 넣어 동일 순서도 같이 출력되게 가능 ★★ 3) EQUI JOIN ㆍ"사원..
SQL 초보자 Day 3 정리 1) 그룹별 값 출력 (ORDER BY 구문) ㆍ사원 테이블에서 "직업명과 직업별 최대 급여 값" 출력 - MAX( ) : 최댓값 / MIN( ) : 최솟값 / AVG( ) : 평균 / SUM( ) : 합계 / COUNT( ) : 건 수 - GROUP BY ____ : ____ 그룹으로 묶어 값 출력 - GROUP BY 절에 없는 열은 SELECT 절에 직접 올 수 없음 - GROUP BY 구문이 없으면 정상 출력이 되지 않음 - GROUP BY 구문과 SELECT 절에 그룹할 컬럼을 지정해주지 않으면 전체 중 최댓값만을 출력 ㆍ사원 테이블에서 "부서번호와 직업별로 평균 월급" 출력 ※ 평균에 대해서 - 평균 : 전체 값을 NULL을 제외한 행 개수만큼 나눈 값 ( AVG(COMM) = SUM(COMM)..
SQL 초보자 Day 2 정리 1) 대소문자 변환 함수 (UPPER, LOWER, INITCAP) ㆍ사원 테이블의 "사원명을 대문자, 소문자, 첫 번째 글자는 대문자 & 나머지는 소문자"로 출력 2) 특정 철자 추출 (SUBSTR) ㆍ" 'ORACLE SQL Developer' 문자에서 SQL만" 출력 - 별다른 테이블을 이용하지 않을 때는 'FROM dual'을 사용 - 공백도 글자수에 포함되므로 7이 아닌 8번째 글자부터 출력 ㆍ" '오라클초보자' 문자에서 초보자"만 출력 (substrb 이용) - SUBSTRB : 바이트를 기준으로 SUBSTR - UTF-8 : 한글을 글자당 3바이트로 인식 / EUC-KR : 한글을 글자당 2바이트로 인식 3) 문자열 길이 출력 (LENGTH) ㆍ" 'ORACLE SQL Developer' 문..