분류 전체보기 176

INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL)

여러 테이블을 합칠 때 사용한다. INNER JOIN은 값이 같은 컬럼만 합치고 OUTER JOIN은 LEFT, RIGHT 기준으로 한 쪽에 맞춰서 합친다. CREATE TABLE TB1 ( NAME VARCHAR2(20), AGE NUMBER(3) ); CREATE TABLE TB2 ( NAME VARCHAR2(20), AGE NUMBER(3) ); INSERT INTO TB1(NAME, AGE) VALUES('김철수', 30); INSERT INTO TB1(NAME, AGE) VALUES('이영희', 31); INSERT INTO TB1(NAME, AGE) VALUES('박영수', 32); INSERT INTO TB1(NAME, AGE) VALUES('엄영수', 33); INSERT INTO TB2(..

DB/Oracle 2022.06.18

서브쿼리

오라클에서 서브 쿼리는 쿼리 안에 쿼리를 넣는 것이고 SELECT, FROM, WHERE 중 어느 위치에 넣냐에 따라 스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리로 갈린다. -- 스칼라 서브쿼리 SELECT '김' AS NAME, (SELECT AGE FROM TB1 WHERE NAME='김') AS AGE FROM DUAL -- 인라인 뷰 SELECT AGE FROM(SELECT AGE FROM TB1 WHERE NAME = '김') -- 중첩 서브쿼리 SELECT NAME, AGE FROM TB1 WHERE NAME = (SELECT NAME FROM TB1 WHERE NAME = '김')

DB/Oracle 2022.06.18

ALIAS

Oracle에서 ALIAS는 컬럼이나 테이블에 별칭을 줄 때 사용하게 되는데 컬럼명이 너무 길어 사용하기 불편하거나 함수 등을 사용해 가져와서 컬럼명이 아예 없을 경우 별칭을 줘서 사용하게 된다. -- 사용 방법 컬럼명 AS ALIAS명 컬럼명 ALIAS명 테이블명 ALIAS명을 사용하면 테이블명.컬럼명 대신 ALIAS명.컬럼명으로 사용이 가능해진다. SELECT NAME AS N, AGE AS A, '123' AS NUM FROM TB1 SELECT A.NAME FROM TB1 A, TB2 B WHERE A.NAME = B.NAME

DB/Oracle 2022.06.18

INSERT, UPDATE, DELETE, SELECT

1. INSERT 테이블에 행을 추가한다. INSERT INTO 테이블명(컬럼명) VALUES('값'); INSERT INTO 테이블명 VALUES('값', '값' ...) -- 테이블에 정의한 컬럼 순서대로 모두 넣어줘야 함 EX) INSERT INTO TB(COL1) VALUES('ABC'); -- TB 테이블의 COL1 컬럼에 'ABC'를 넣어 행 추가 2. UPDATE 추가한 행의 내용을 수정한다. WHERE 절을 안 넣으면 테이블 전체의 내용이 바뀌므로 주의한다. UPDATE 테이블명 SET 컬럼명 = '바꿀 값' WHERE 컬럼명 = '값' -- WHERE은 조건에 해당 EX) UPDATE TB SET COL1 = 'AA' WHERE COL1 = 'BB' -- TB 테이블에서 COL1 컬럼의 ..

DB/Oracle 2022.06.18

테이블 생성 (데이터타입, 제약조건)

오라클에서 CREATE TABLE로 테이블을 생성할 수 있는데 테이블이 있어야 후에 SELECT, INSERT, UPDATE, DELETE가 가능해지기에 일단 테이블을 만들어야 한다. 테이블은 아래와 같이 입력해서 만들 수 있는데 CREATE TABLE 테이블명 ( 컬럼명 데이터타입 제약조건, 컬럼명2 데이터타입 제약조건 ); 여기서 눈 여겨봐야 할 것은 데이터타입과 제약조건이다. 데이터 타입 CHAR(N) - 고정 길이 문자열, N 이하로 값이 들어오면 나머지 칸은 공백으로 채워진다. VARCHAR2(N) - 가변 길이 문자열(N 이하로 값이 들어오면 크기에 맞춰 채워짐 NUMBER(N) - N 자리 수만큼 숫자 입력 가능 DATE - 날짜 입력 시 사용 제약 조건 CREATE TABLE FOREIGN..

DB/Oracle 2022.06.18