목록2024/08/26 (11)
얼렁뚱땅 우왕좌왕
■ 연속, 열거, 순서의 의미 ■ 시퀀스 객체는 자동적으로 번호를 생성하기 위한 객체 ■ 시퀀스 객체는 테이블과 독립적이므로 여러 곳에서 사용 가능. ■ 시퀀스를 이용하는 경우 : - Primary Key 를 설정할 후보키가 없거나 PK를 특별히 의미 있게 만들지 않아도 되는경우 - 자동으로 순서적인 번호가 필요한 경우 시퀀스 구문 CREATE SEQUENCE 시퀀스이름 [START WITH n] 초기값 [INCREMENT BY n] 증가량 [MAXVALUE n|NOMAXVALUE] 최대값 [MINVALUE n|NOMINVALUE] 최소값 [CYCLE | NOCYCLE] -- 반복유무 [CACHE n | NOCACHE] --통상 20을 준다 [ORDER | NOORDER] 요청순서대로 생성을 보증===..
■ 서브쿼리 사용시 주의사항 - 서브쿼리를 괄호로 감싸서 사용한다 - 서브쿼리는 단일행 또는 복수 행 비교 연산자와 함께 사용가능하다. ■ 서브쿼리가 사용 가능한 곳 - SELECT 절 - FROM 절 - WHERE 절 - HAVING 절 - ORDER BY 절 - INSERT 문의 VALUE 절 - UPDATE 의 SET 절 ■ 단일행 서브쿼리 - 단일행 비교연산자(=, , >=, ) 와 사용할때는 서브쿼리의 결과 건수가 반드시 1건 이하여야 한다. ■ FROM 절에 사용하는 서브쿼리 - 인라인 뷰라고 부름 - 동적으로 생성된 테이블인 것처럼 사용할 수 이다 - 인라인 뷰는 동적으로 JOIN 방식을 사용하는 것과 같다.
■ ADD_MONTHS(DATE, INTEGER) : 매개변수 DATE에 매개변수 INTEGER 만큼의 월을 더한 날짜를 리턴 ■ LAST_DATE(DATE) : 현재 월의 마지막 일자를 리턴 ■ NEXT_DAY(DATE,CHAR) : 매개변수 DATE의 다음 주 CHAR(요일)의 날짜를 리턴 ■ MONTHS_BETWEEN(DATE1, DATE2) : 매개변수 DATE1과 DATE2 사이의 개월 수를 리턴 - 소수점으로 결과가 나오기 때문에 앞에 ROUND 함수를 같이 써주는 게 좋다 요일표시, 년월일 절삭하기 -- 결과 : 연도 SELECT TO_CHAR(SYSDATE,'YEAR') FROM DUAL; --결과 : 화요일 SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL..
■ NVL(NULL값인칼럼, 대체하고 싶은 값) : NULL 값인 데이터를 대체 값으로 출력한다. ■ DECODE : IF문과 같은 기능을 함. SELECT DECODE(9, 10, 'A', 9, 'B', 8, 'C', 'D') FROM DUAL; -- B -- 9가 10이면 A, 9면 B, 8이면 C, 모두 아니면 D 를 출력한다. ■ ROUND, TRUNC : 반올림 , 버림 SELECT ROUND(345.123, -1 ) 결과1, TRUNC(345.123, -1 ) 결과2 FROM DUAL; -- ROUND >> -1 : 1의 자리 숫자에서 반올림 -- TRUNC >> -1 : 1의 자리 숫자에서 버림 결과1 : 350 결과2 : 340 SELECT ROUND(345.125, 2 ) 결과1, T..