# 데이터베이스/오라클 27

Subquery, any, all 연산자, exists 연산자, subquery를 이용한 테이블 생성 및 자료 추가

--Subquery : 질의 속에 질의가 있는 형태 (안쪽 질의의 결과를 바깥쪽 질의에서 사용하는 것이 일반적이다) --select * from sawon; --'김이화'와 직급이 같은 직원 출력 select sawon_jik from sawon where sawon_name='김이화'; --직급을 얻었다 select * from sawon where sawon_jik='사원'; --해당 직급 자료 출력 -- 아래처럼 두개를 합치는 이유는 서버 퍼포먼스를 향상시킬수 있기때문이다. 서프쿼리가 한번에 처리 할 수 있기때문에. --1) 일반적인 Subquery 참조 방식 : 안쪽 질의의 결과를 바깥 질의에서 사용 select * from sawon where sawon_jik=(select sawon_jik ..

group by, inner join, left outer join, union,merge

--그룹 함수(복수 행 함수)- 여러 개의 행에 대해서 하나의 결과가 반환되는 함수 --null 값을 무시한다. count(*)은 null 허용한다. select sum(sawon_pay) as 합, avg(sawon_pay) as 평균 from sawon; --전체 레코드의 합과 평균을 구한다. select count(sawon_pay) as 개수, max(sawon_pay) as 최대값, min(sawon_pay) as 최소값 from sawon; --개수,최대값, 최소값 구하기 select avg(sawon_pay), avg(nvl(sawon_pay,0)) from sawon; --주의할점 : 연산값중에 null이 있으면 자동으로 무시하고 계산한다. select sum(sawon_pay) / 15,..

Query(질의), select,order by,숫자 함수, 문자 함수, 내장 함수,Conditional Expression(조건 표현식)

--Query (질의) : select select [option...] [db명.소유자명.테이블명.]칼럼명 [as 별명]... [into 테이블명 ] from 테이블명 where 조건 ... order by 기준키 [asc,desc] select * from sawon; select sawon_no, sawon_name, sawon_pay from sawon; --일부의 칼럼만 읽기 select sawon_name, sawon_pay, sawon_no from sawon; --원본 테이블의 칼럼 순서와 관계없고, 클라이언트에서 보낸 sql명령의 순서대로 저장된다. select sawon_no as 사번, sawon_name 직원명 from sawon; -- 별명을 줄 때는 as를 써도되고 빼도 된다. ..

[DB연습 자료] 부서, 사원, 고객 table

*** 질의 실습 용****************************** buser table create table buser( buser_no number(4) primary key, buser_name varchar2(10) not null, buser_loc varchar2(10), buser_tel varchar2(15)); insert into buser values(10,'총무부','서울','02-100-1111'); insert into buser values(20,'영업부','서울','02-100-2222'); insert into buser values(30,'전산부','서울','02-100-3333'); insert into buser values(40,'관리부','인천','032-..

default 초기치 부여, sequence, index, 칼럼 추가,수정,삭제, 이름변경

--default : 특정 칼럼에 초기치 부여 : 열값이 없는 형을 삽입할 경우 열에 null 값이 입력되는 것을 방지 create table aa(bun number(6), irum varchar2(20) default '종로구 숭인동'); insert into aa(bun, irum) values(1, '역삼1동'); insert into aa(bun) values(2); --디폴트를 준 '종로구 숭인동'이 null값을 채워준다. select * from aa; drop table aa; -- sequence : number 칼럼에 대해 숫자를 자동증가 (sequence는 오라클에서만 쓴다. 다른데서는 auto increment) create sequence my_bun increment by 1 s..

무결성 제약 조건(constraint), 기본키 제약조건, check, unique, foreign key, 참조키

--무결성 제약 조건(constraint) : 잘못된 자료를 막기위한 입력 제한 조건 부여 --기본키 제약 조건 : 중복 레코드 입력 방지, not null 방법1) 컬럼 레벨 - 제약조건의 이름을 컴퓨터가 맘대로 부여한다. 이름을 사용할 필요가 없을때 방법1을 사용 create table aa(bun number primary key, irum char(10)); select table_name, constraint_type, constraint_name from user_constraints WHERE table_name='AA'; drop table aa; 방법2) 이름을 부여한 컬럼 레벨 -제약 조건의 이름을 알아야 지울 수 있기 때문에 create table aa(bun number constr..

SQL문의 기초, create table, insert into, update set, delete from

SQL문의 기초 RDBMS : 여러 개의 테이블로 자료를 분산 저장 후 query로 자료 저장 및 검색 테이블 생성 : 기본 저장 단위이며 행과 열로 구성된다. 대문자로 쓰지만 소문자로 써도 된다.대문자가 좋다. create table 테이블명(칼럼명 자료형, 제약조건) 자료형 : number, char, varchar2, date, timestamp, clob(5000자 이상글), blob,.... 숫자, 문자가변_속도는, 문자고정(10)자리 확보_메모리는 5000자 밑으로, 날짜, 시간 create table test(no number(5) primary key, --primary key는 무조건 not null name varchar2(10) not null, --/자료 반드시 넣어라 tel var..