DB/Oracle 15

서브쿼리

오라클에서 서브 쿼리는 쿼리 안에 쿼리를 넣는 것이고 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

Oracle SQL 기초

º SQL 데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제 등의 작업을 하는 질의 언어 º 테이블 생성하기 어떤 데이터를 저장할 것인지 정한 후 테이블을 생성한다. create table 테이블명 (컬럼명 컬럼타입); º 컬럼 타입 numbers(n) - 수치 데이터 저장시 사용 char(n) - 고정된 크기(길이)의 글자 저장 varchar2(n) - 글자의 길이가 변동적일 때 사용 date - 날짜 저장에 사용 º primary key() 데이터 무결성 제약 조건 -> 테이블에 부적절한 데이터가 입력되는 것을 방지하기 위해 테이블 생성시 컬럼에 지정하는 것 º 테이블 레코드 조회하기 select [ all | distinct ] 컬럼_목록 from 테이블명 [where 조건] [group b..

DB/Oracle 2022.06.18