전체 글 50

##SQL 6일차 0504(SET연산자)

##SET 연산자 CREATE TABLE JOB_HISTORY AS SELECT * FROM HR.JOB_HISTORY ; SELECT EMPLOYEE_ID, JOB_ID --합하기 FROM EMP UNION SELECT EMPLOYEE_ID, JOB_ID FROM JOB_HISTORY ; ==> 유니온 실행 후 첫번째 컬럼으로 오름차순 정렬이 기본으로 됨 ==> 중복 -> 한번만 출력 ==> 컬럼의 수, 데이터타입과 크기 일치해야 한다 SELECT EMPLOYEE_ID, JOB_ID --합하기(중복값, 노정렬) FROM EMP UNION ALL SELECT EMPLOYEE_ID, JOB_ID FROM JOB_HISTORY ; ==> 중복 허용, 정렬 안됨 CREATE TABLE TT7 --테이블로 만들..

WORK/DB_Oracle 2021.05.04

##SQL 6일차 0504(뷰, 인덱스, 시노님)

##VIEW --가상의 테이블 --목적 : 보안성 ( 컬럼에 대한 접근 제한 ), 편리성 ( 쿼리문이 길고 복잡해 => 뷰 생성 ) -- 쿼리문을 저장하는 객체 ## 뷰 생성 CREATE VIEW EMP60_VU => 새로운 뷰 만들겠다 AS SELECT LAST_NAME, SALARY FROM EMP WHERE DEPARTMENT_ID = 60 ; CREATE OR REPLACE VIEW 뷰명 -- 없으면 만들고 있으면 다시 만듬 AS SELECT 문 ; ## 뷰 확인 -- USER_VIEWS SELECT * FROM USER_VIEWS ; ## 읽기 전용 뷰 생성 --- 뷰를 통해서 DML 작업을 할 수 없다 !! CREATE VIEW EMP60_VU AS SELECT LAST_NAME, SALARY..

WORK/DB_Oracle 2021.05.04

##SQL 6일차 0504(테이블 생성, 제약조건)

##테이블 생성 CREATE TABLE 테이블명 ( 컬럼명 데이터 타입(사이즈/바이트타입) 제약조건, 컬럼명 데이터 타입(사이즈/바이트타입) 제약조건, 컬럼명 데이터 타입(사이즈/바이트타입) 제약조건, 컬럼명 데이터 타입(사이즈/바이트타입) 제약조건, .... ) ; STUDENT( S_NO, NAME, BIRTH ) CREATE TABLE STUDENT( S_NO CHAR(8) PRIMARY KEY, NAME VARCHAR(100) NOT NULL, BIRTH DATE ) ; desc student ; => 스키마 보는거 ##테이블 구조 변경 : ALTER --ADD : 컬럼 추가 --MODIFY : 컬럼의 자료형 크기 확대 --RENAME COLUMN : 컬럼명 수정 --DROP : 컬럼 삭제 ##E..

WORK/DB_Oracle 2021.05.04

##SQL 5일차 0503(개념적,논리적,물리적설계,데이터타입)

설계 ##요구사항 분석 => 기능별, 사용자별 ##요구사항 명세서 => 디테일 ##코드테이블 => 관리자 -회원등급관리 - 회원등급등록, 수정, 삭제, 조회 -도서장르 - 도서장르등록, 수정, 삭제, 조회 -쿠폰관리 - 쿠폰등록, 수정, 삭제, 조회 1.회원관리 -회원가입 => 누구나, 아이디, 비밀, 생일, 성별, 주소, ...가입 => 탈퇴후 1개월이내는 재가입 안된다. => 14세 미만은 부모의 동의가 있어야 가입가능 -회원정보 수정 -회원 탈퇴 -회원정보 조회 -우수회원 조회 -회원등급 조절 -아이디 비밀번호 찾기 -찜목록 관리 -등록, 조회, 수정 ,삭제 ... 2.도서관리 -도서 등록 : 관리자 또는 판매자 => 도서번호, 장르, 책제목, 저자, 출판일, .... -도서 수정 -도서 삭제 -도..

WORK/DB_Oracle 2021.05.03

##SQL 4일차 0430(서브쿼리,DML,TCL)

## 서브쿼리 => SQL 내부에 있는 또 다른 쿼리 => 소괄호 ( 서브쿼리 ) 감싼다 => 서브쿼리 안에 또 서브쿼리가 올 수 있다 => 메인쿼리 안에 여러 개의 서브쿼리가 올 수 있다 => 수행순서 : 서브쿼리(내부쿼리) 실행 -> 메인쿼리(외부쿼리) 실행 => 서브쿼리의 리턴값이 NULL 이면 결과값도 NULL 이다 => 사용위치 -SELECT 절 -> 함수로 구현하여 제공하는 추세 -WHERE 절 -> 조건식의 우항 -FROM 절 -> IN-LINE 뷰 --Chen 보다 많은 급여를 받는 사원의 이름과 급여 SELECT LAST_NAME, SALARY FROM EMP WHERE SALARY > ( SELECT SALARY FROM EMP WHERE LAST_NAME ='Chen' ) ; --부서..

WORK/DB_Oracle 2021.05.01

##SQL 3일차 0429

##다중행 함수 => 그룹함수, 통계함수 => 여러 행의 값 => 처리 => 하나의 값을 반환 => sum, avg, count, max, min... =>** null 값은 통계에서 제외한다. ## count 함수 - * : row의 수를 카운트 (NULL값도 참조) - 컬럼명 : count(commission_pct) (NULL값 무시) select count(*) as 총사원수, count(commission_pct) as "받는 사원수", count(*) - count(commission_pct) as " 받지 않는 사원 수 " from emp; 최고급여, 최저급여 select max(salary), min(salary) from emp ; 월급을 15000 이상 받는 사원의 수 ? select ..

WORK/DB_Oracle 2021.04.29

##SQL 2일차 0428

EMPLOYEE_ID -> 사번 FIRST_NAME LAST_NAME -> 이름 EMAIL PHONE_NUMBER HIRE_DATE -> 입사일 JOB_ID -> 직군, 직위 SALARY -> 월급, 급여 COMMISSION_PCT -> 판매수당률 MANAGER_ID -> 직속상관 사번 DEPARTMENT_ID -> 부서번호 =========================== *******SQL 실행순서 ******* FROM -> WHERE -> GRUOP BY -> HAVING -> SELECT -> ORDER BY =========================== ##문자함수 upper : 대문자 lower : 소문자 initcap : 첫자만 대문자 : 단어의 첫자가 대문자 SELECT EMAIL, ..

WORK/DB_Oracle 2021.04.28

##SQL 1일차 0427

*대소문자 구분x 다른 유저의 테이블을 복사하기 CREATE TABLE EMP AS SELECT * FROM HR.EMP ; 테이블 정보 확인 SELECT * FROM 테이블명 ; EX) SELECT * FROM EMP ; 데이터 타입 A NUMBER(3) > 0~999 //정수 3자리 A NUMBER(2,2) > 0.00~0.99 A NUMBER(3,2) > 0.00~9.99 ----------------------------------------------- SELECT절 - 컬럼명1, 컬럼명2... -모든컬럼 : * -수식 -별칭 : AS 별칭명 => AS 생략 가능 -함수 -서브쿼리 - || : 결합 연산자 SELECT * FROM EMP; SELECT LAST_NAME, SALARY FROM E..

WORK/DB_Oracle 2021.04.28