ORACLE SQL 29

ORACLE SQL DDL 복습 내용 정리

DDL :  생성(CREATE), 수정(ALTER),삭제(DROP)  * 자료형 문자 / 숫자 / 날짜     * 문자 - 데이터 크기도 지정해야 함  - CHAR 자료형은 고정 길이 이고, 최대 2000B까지 저장 가능- VARCHAR2 자료형은 가변 길이 이고, 최대 4000B까지 저장 가능 SQL 컬럼에 설명을 추가하는 SQL 구문 : COMMENT   COMMENT ON COLUMN 테이블명.컬럼명 IS '주석 내용' NULL 값을 허용하지 않도록 설정하는 제약 조건 : 컬럼 레벨 방식만 가능하다.  데이터의 중복을 허용하지 않도록 설정하는 제약 조건 : UNIQUE - > 컬럼 레벨 방식 / 테이블 방식 모두 가능하다   PRIMARU KEY :  테이블에 저장되는 각 행들을 구분하기 위한 컬럼..

ORACLE SQL 2024.07.30

ORACLE SQL_DML

DML D : DATAM : MANIPULATION L : LANGUAGE  데이터 조작 언어로 테이블에 값을 삽입, 수정,삭제하는 구문을 말한다.  INSERT  : = > 테이블에 새로운 행을 추가하는 것을 말한다.  INSERT INTO 테이블명 VALUES (값,값,값, ....)테이블의 모든 컬럼에 대한 값을 제시하여 저장(추가)컬럼 순서에 맞게 나열해야 한다(해당 컬럼의 데이터 타입에 맞게) 제시되지 않은 컬럼에 대한 값은 기본적으로 NULL이 저장되고 기본값에 대한 옵션(DEFAULT)이 있는 경우 해당 기본값으로 저장된다  NOT NULL 제약조건이 있는 컬럼의 경우 직접 컬럼을 제시하여 값을 추가하거나, DEFAULT 옵션을 설정해야 한다 그렇지 않으면 오류가 발생한다.   -- 내가 해..

ORACLE SQL 2024.07.29

ORACLE SQL SEQUENCE

* 시퀀스 (SEQUENCE) : 자동으로 번호를 발생 시켜주는 역할을 하는 객체   정수를 순차적으로 일정한 값마다 증가시키면서 생성  시퀀스 생성하기 :  시퀀스도 객체 START WITH 숫자 --> 처음 발생 시킬 시작 값 지정 INCREMENT BY 숫자 --> 얼마만큼씩 증가시킬 것인지에 대한 값 지정[기본값 : 1]MAXVALUE 숫자 --> 최대값 [기본값 엄청 큼]MINVALUE 숫자 --> 최소값 [기본값 : 1]CYCLE || NOCYCLE --> 값 순환 여부 [기본값 NOCYCLE]   CYCLE: 시퀀스 값이 최대값에 도달하면 최소값으로 다시 순환하도록 설정  NOCYCLE: 시퀀스 값이 최대값에 도달하면 더 이상 증가시키지 않도록 설정 NOCACHE CACHE 숫자 --> 캐시..

ORACLE SQL 2024.07.29

ORACLE PL/SQL

PL/ SQL :   Procedural Language extension TO SQL 오라클 자체에 내장되어 있는 절차적 언어 SQL의 단점을 보완하여 SQL문장 내에서 변수의 정의 , 조건처리, 반복처리를 지원  1.DECLARESECTION : 생략 가능DECLARE로 시작 변수나 상수를 선언하는 부분  2.EXECUTABLE SECTIONBEGIN으로 시작 제어문, 반복문, 함수 정의 등 로직 기술  3.EXCEPTIONSECTION생략 가능예외 사항 발생 시 해결하기 위한 문장 기술  SET SERVEROUTPUT ON;* 프로시저를 사용하여 출력하는 내용을 화면에 보여주도록 설정한느 환경변수로 기본 값은 OFF여서 ON으로 변경   BEGIN DBMS_OUTPUT.PUT_LINE(‘HELLO ..

ORACLE SQL 2024.07.29

ORACLE SQL DDL_02

ALTER TABLE : 테이블에 변경사항을 적용하고자 할 때 사용된다   UNIQUE : ALTER TABLE 테이블명 ADD UNIQUE(컬럼명);CHECK : ALTER TABLE 테이블명 ADD CHECK(컬럼에 대한 조건식);PRIMARY KEY : ALTER TABLE 테이블명 ADD PRIMARY KEY(컬럼명);FOREIGN KEY : ALTER TABLE 테이블명 ADD FOREIGN KEY(컬럼명) REFERNECES 참조할 테이블명[참조할 컬럼명]  DEFAULT 옵션 : ALTER TABLE 테이블명 MODIFY 컬럼명 DEFAULT 기본값 ALTER :객체를 변경하는 구문 * 변경되는 내용 -제약조건 추가/수정(삭제 -> 추가)/ 삭제-컬럼명/데이터 타입/제약조건명/테이블명 변경 ..

ORACLE SQL 2024.07.28

ORACLE SQL DDL_01

DDL이란  DATE Definition Language  약자로  데이터 정의 언어로 객체(Object)를 만들고 (Create) 수정(Alter), 삭제(Drop)하는 구문이다  표현식 : CREATE TABLE 테이블명 CREATE TABLE MEMBER ( MEMBER_ID VARCHAR2(20),MEMBER_PWD VARCHAR2(20),MEMBER_NAME VARCHAR2(20) ); 자료형 :   CHAR(크기) : 고정길이 문자 데이터 (최대 2,000 Byte)VARCHAR2(크기) : 가변길이 문자 데이터(최대 4,000Byte)NUMBERDATE CHAR : SIZE 포함될 문자(열)의 크기 지정한 크기보다 작은 문자(열)이 입력되면 남는 공간은 공백으로 채운다 VARCHAR2 : 가..

ORACLE SQL 2024.07.27

SQL 1회독

DISTINCT  :컬럼에 포함된 데이터 중 중복 값을 제외하고 한 번씩만 표시하고자 할 때 사용. * SELECT절에 1회만 기술 가능하다.    비교 연산자  1. BETWEEN AND :비교하려는 값이 지정한 범위에 포함되면 TRUE를 리턴하는 연산자로 상한 값과 하한 값의 경계도 포함된다.  SELECT EMP_NAME, SALARY FROM EMPLOYEE  WHERE SALARY BETWEEN 3500000 AND 6000000; 2. LIKE :  % ,_ ,   ESCAPE 비교하려는 값이 지정한 특정 패턴을 만족하면 TRUE를 리턴하는 연산자로 '%'와 '_'를 와일드카드로 사용한다. SELECTEMP_NAME, SALARYFROM EMPLOYEEWHEREEMP_NAME LIKE ‘전%’..

ORACLE SQL 2024.07.26

ORACLE SQL 2회독 문제 풀이

INSTR :  SELECT INSTR('AABAACAABBAA','B',1,2) FROM DUAL;              2 :  2번째 순번을 찾는다. SUBSTR과INSTR을 활용해서  -- 사원 정보 중 사원명, 이메일, 아이디 조회  -- [1] 이메일에서 '@'의 위치를 찾고 => INSTR 함수 사용  -- [2] 이메일의 컬럼의 값에서 1번째 위치부터 '@'위치(1에서 확인)전까지 추출  SELECT EMP_NAME, email, SUBSTR(email, '1',INSTR(EMAIL, '@') -1)  FROM EMPLOYEE; -- 연결 연산자 사용해서 ? SELECT EMP_NAME,EMP_NO,RPAD(SUBSTR(EMP_NO, 1,8),14,'*')  FROM EMPLOYEE;  ..

ORACLE SQL 2024.07.25

SQL 집합 연산자 , JOIN

* 집합 연산자             : 여러 개의 쿼리문을 하나의 쿼리문으로 만들어주는 연산자            - UNION : 합집합 OR(두 쿼리문을 수행한 결과값을 더해줌)      - INTERSECT : 교집합 AND (두 쿼리문을 수행한 결과값의 중복된 부분을 추출해준다.)      - UNION ALL : 합집합 + 교집합(중복되는 부분이 두번 표시될 수 있다)      - MINUS : 차집합(선행 결과값에 후행 결과값을 뺸 나머지)       집합 연산자 사용 시 주의사항                   1) 컬럼 갯수가 동일해야한다.          2) 컬럼 자리마다 동일한 타입으로 작성해야 함          3) 정렬하고자 한다면 ORDER BY절은 마지막에 작성해야한다.  ..

ORACLE SQL 2024.07.24

SQL_함수 모음 NULL 처리 함수, 선택 함수

NULL 처리 함수 :  NVL : 해당 컬럼의 값이 NULL일 경우 다른 값으로 사용할 수 있도록 변화해주는 함수이다  [표현법]         NVL(컬럼, 해당 컬럼의 값이 NULL인 경우 사용할 값)  NVL  사용 예 : SELECT EMP_NAME 사원이름, NVL(BONUS, 0) 보너스 FROM EMPLOYEE; -- BONUS가 NULL일 경우 0으로 변화 시켜준다.   SELECT EMP_NAME 사원이름, SALARY*12 연봉 ,(SALARY +(SALARY * NVL(BONUS, 0)))* 12 "보너스 포함 연봉" FROM EMPLOYEE; NVL2 : 해당 컬럼의 값이 NULL일 경우 표시할 값을 지정하고 NULL이 아닐 경우(데이터가 존재하는 경우) 표시할 값을 지정     ..

ORACLE SQL 2024.07.23