목록K 개발자 (145)
K 개발자
중첩질의 - WHERE 부속질의 중첩질의nested subquery는 WHERE 절에서 사용되는 부속질의를 말한다. WHERE 절은 보통 데이터를 선택하는 조건 혹은 술어predicate와 같이 사용된다. 그래서 중첩질의를 술어 부속질의predicate subquery라고도 부른다. 중첩질의는 주 질의에 사용된 자료 집합의 조건을 WHERE 절에 서술한다. 주 질의의 자료 집합에서 한 행씩 가져와 부속질의를 수행하며, 연산 결과에 따라 WHERE 절의 조건이 참인지 거짓인지 확인하여 참일 경우 주 질의의 해당 행을 출력한다. 중첩질의의 연산자는 다음과 같다. 술어 연산자 반환 행 반환 열 상관 비교 =, >, =, 단일 단일 가능 집합 IN, NOT IN 다중 다중 가능 한정 ALL, SOME(ANY) ..
ROWNUM ROWNUM은 오라클 내장 함수는 아니지만 자주 사용되는 문법이다. ROWNUM은 오라클 내부적으로 생성되는 가상 컬럼으로 SQL 조회 결과의 순번을 나타낸다. 자료를 일부분만 확인하여 처리할 때 유용하다. 연습문제 -- 고객목록에서 고객번호, 이름, 전화번호를 앞의 두 명만 보이시오. SELECT ROWNUM "순번", custid, name, phone FROM Customer WHERE ROWNUM
NULL 값에 대한 연산과 집계 함수 집계 함수를 사용할 때 NULL 값이 포함된 행에 대하여 다음과 같은 주의가 필요하다. 'NULL+숫자' 연산의 결과는 NULL이다. 집계 함수를 계산할 때 NULL이 포함된 행은 집계에서 빠진다. 집계 함수에 적용되는 행이 하나도 없으면, SUM, AVG 함수의 결과는 NULL이 되고, COUNT 함수의 결과는 0이다. NULL 값을 확인하는 방법 NULL 값을 찾을 때는 '=' 연산자가 아닌 'IS NULL'을 사용하고, NULL이 아닌 값을 찾을 때는 '' 연산자가 아닌 'IS NOT NULL'을 사용한다. NVL 함수 NVL 함수는 NULL 값을 다른 값으로 대치하여 연산하거나 다른 ..
날짜·시간 함수 데이터베이스에는 날짜를 저장하는 경우가 많다. 날짜는 단순히 문자열로 저장하여 관리할 수도 있지만 날짜형 데이터로 저장하여 관리하면 편리하다. 날짜를 더하거나 차이를 구하는 등의 연산을 손쉽게 처리할 수 있기 때문이다. 다음은 오라클에서 제공하는 주요 날짜 함수이다. 함수 설명 TO_DATE(char, datetime) 문자형(CHAR) 데이터를 DATE형으로 반환 TO_CHAR(date, datetime) DATE형 데이터를 문자열(VARCHAR2)로 반환 ADD_MONTHS(date, 숫자) 날짜에 지정한 달을 더해 DATE형으로 반환 LAST_DAY(date) 날짜에 달의 마지막 날을 DATE형으로 반환 SYSDATE DBMS 시스템상의 당일 날짜를 DATE형으로 반환하는 인자가 없..
문자 함수 문자 함수character functions는 주로 CHAR나 VARCHAR2 데이터 타입을 대상으로 단일 문자나 문자열을 가공한 결과를 반환한다. 문자 함수는 다음과 같이 다양하게 제공되고 있으므로 목적에 맞게 골라서 사용한다. 함수 설명 CHR(k) 정수 아스키코드를 문자로 반환 CONCAT(s1, s2) 두 문자열을 연결 INITCAP(s) 문자열의 첫 번째 알파벳을 대문자로 변환 LOWER(s) 대상 문자열을 모두 소문자로 변환 LPAD(s, n, c) 대상 문자열의 왼쪽부터 지정한 자릿수까지 지정한 문자로 채움 LTRIM(s1, s2) 대상 문자열의 왼쪽부터 지정한 문자들을 제거 REPLACE(s1, s2, s3) 대상 문자열의 지정한 문자를 원하는 문자로 변경 RPAD(s, n, c..
숫자 함수 SQL 문에서는 수학의 기본적인 사칙 연산자(+, -, *, /)와 나머지(%) 연산자 기호를 그대로 사용한다. 그러나 실제 수학에서는 사칙 연산자 외에도 여러 연산자가 있다. 오라클은 이러한 연산자 중 사용 빈도가 높은 것을 내장 함수 형태로 제공한다. 내장 함수로 제공되는 숫자 함수는 다음과 같다. 함수 설명 ABS(숫자) 숫자의 절댓값 계산 CEIL(숫자) 숫자보다 크거나 같은 최소의 정수 FLOOR(숫자) 숫자보다 작거나 같은 최소의 정수 ROUND(숫자, m) m 자리를 기준으로 숫자 반올림 LOG(n, 숫자) 숫자의 자연로그 값 반환 POWER(숫자, n) 숫자의 n제곱 값 계산 SQRT(숫자) 숫자의 제곱근 값 계산(숫자는 양수) SIGN(숫자) 숫자가 음수이면 -1, 0이면 0,..
INSERT 문 INSERT 문은 테이블에 새로운 투플을 삽입하는 명령이다. UPDATE 문 UPDATE 문은 특정 속성값을 수정하는 명령이다. DELETE 문 DELETE 문은 테이블에 있는 기존 투플을 삭제하는 명령이다. DELETE 문은 에 해당되는 투플을 삭제한다. 이 없으면 모든 투플을 삭제한다. 연습문제 -- Book 테이블에 새로운 도서 '스포츠 의학'을 삽입하시오. 스포츠 의학은 한솔의학서적에 출간했으며 가격은 90,000원이다. INSERT INTO Book(bookid, bookname, publisher, price) VALUES (11, '스포츠 의학', '한솔의학서적', 90000); -- Book 테이블에 새로운 도서 '스포츠 의..
CREATE 문 CREATE 문은 테이블로 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의하는 명령이다. ALTER 문 ALTER 문은 생성된 테이블의 속성과 속성에 관한 제약을 변경하며, 기본키 및 외래키를 변경한다. DROP 문 DROP 문은 테이블을 삭제하는 명령이다. DROP 문은 테이블의 구조와 데이터를 모두 삭제하므로 사용에 주의해야 한다. 연습문제 -- 다음과 같은 속성을 가진 NewBook 테이블을 생성하시오. /* bookid(도서번호) - NUMBER bookname(도서이름) - VARCHAR2(20) publisher(출판사) - VARCHAR2(20) price(가격) - NUMBER */ CREATE TABLE NewBook ( bookid NUMBER,..