[Database] 테이블 생성(CREATE TABLE) 및 제약조건(CONSTRAINT)

테이블 생성하기 CREATE TABLE table_name (column_name datatype [DEFAULT expr] [column_constraint], [table_constraint ]) column_constraint - 컬럼수준에서 제약조건을 거는것 / 각 컬럼마다 적는다. table_constraint - 컬럼을 다 만들고 마지막에 테이블 수준에서 제약조건을 건다. table_name, column_name - 테이블 이름 지정, 컬럼 이름 지정 datatype - 컬럼의 데이터 타입, 크기 지정 DEFAULT expr - 해당 컬럼에 적용될 자동 기본값 테이블 생성 조건 테이블 및 컬럼 이름 문자로 시작 , 30자 이하 영문대/소문자, 숫자, 특수문자, 한글만 포함가능 중복되는 이름은..

[Database] INNER JOIN / OUTER JOIN 함수 사용법 및 차이(ORACLE & ANSI표준)

JOIN (INNER JOIN) INNER JOIN은 테이블간에 매칭되는 것들로만 엮어서 검색한다. (교집합만 가져온다고 보면 된다.) #일단 오라클 기준과 ANSI(SQL 공통 표준)를 나눠서 설명하겠습니다. JOIN - ORACLE 각기 다른 두테이블을 하나로 엮어서 출력을 해주는 함수 equals join - 업무적인 연관성있는 컬럼 간에 조인 (이건 부모키가 외래키랑 연관이 있는 관계) non equals join- 업무적인 연관성이 없는 조인(두 테이블 사이에 연관성이 없는 경우) Oracle 기준 SELECT FROM 컬럼 / 별칭 , 컬럼 / 별칭 WHERE 이 부분에서 두 컬럼사이의 연관성이 있는 걸 equals 로 묶는다. 이런식으로 별칭(EMPLOYEE E, DEPARTMENT D)을 ..

[Database] ORDER BY 절,GROUP BY 절 함수 사용법 (Oracle SQL)

ORDER BY 검색된 데이터를 순차적으로 정렬해서 보여주는 함수 SELECT FROM WHERE ORDER BY 기준1 [ASC/DESC] DESC - 내림차수(내려가면서 작아진다) ASC - 오름 차수(내려가면서 커진다.) 연봉순으로 내림차수로 결과를 보여준다. 이건 DEPT_ID 순으로 내림차수를 한데 그냥 출력하면 NULL이 제일 위에 뜬다. 이걸 내리기 위에 DESC에 NULLS LAST을 넣어준다. 이건 NULL을 제일 마지막에 출력한다는 옵션이다. 반대로 NULLS FIRST 도 있다. 그리고 oreder by 는 인덱스나 AS 로 정의한 별칭으로도 가능하다. GROUP BY 데이터 들을 그룹으로 묶어주는 함수 SELECT FROM WHERE GROUP BY column_name | expr..

[Database] NVL,NVL2 함수 사용방법 (Oracle SQL)

NVL 함수 NULL을 지정한 값으로 변환하는 함수 SELECT (expr1,expr2) FROM 테이블 구문 1 2 NVL(expr1,expr2) expr1 - NULL을 포함하는 컬럼(NULL이 들어가 있을 만한 컬럼) , expr2 - NULL인 경우 변환할 값(NULL 대신 넣을 값) 이 쿼리는 연봉을 구하고 그 연봉에 보너스를 더하는데 BONUS_PCT 값에 NULL이 있을 경우 결과 값이 NULL이 나온다. (NULL 값이 있을 때 연산을 하면 NULL 이 나온다.) 이걸 NVL 함수를 사용해서 NULL값을 0으로 만든후 연산을 하여 아래와 같이 계산이 가능하게 끔 만든다. NVL2 함수 NULL 값이 아닐 경우 특정 값으로 출력하는 함수 SELECT (expr1,expr2,expr3) FRO..

[Database] 윈도우 에서 oracle 설치하기

https://www.oracle.com/kr/database/technologies/oracle-database-software-downloads.html#19c 해당 url로 접속한 후 원하는 오라클 버전을 받는다. 운영체제 맞게 요령껏 받자 받은 후 압축을 푼 후 setup을 실행하자 가볍게 NEXT 약관에 동의 한다는 내용인데 동의 안하면 못쓰니 동의하고 다음 경로 부분인데 어지간하면 건드리지말자 그리고 혹시나 해서 말하는데 개발이나 무언가를 다운받는데 있어서 한글로 된 폴더는 정말 어지간하면 비추한다. 에러가 많이 난다 이유도 영문도 모르겠는데 안된다면 사용자명이한글이거나 폴더가 한글일 때 도 있다 주의 !! DB에 접속하고 사용하는데 필요한 패스워드다. 잊어버리지 않는 것으로 설정해주자 저 위..