https://www.saichoiblog.com/oracle11gxeformac/
https://withthisclue.tistory.com/103
기본키 - 그 테이블의 고유값.
외래키 -
Ellen의 정보를 찾고싶은데 부서 id밖에 없다? ->
그럼 외래키를 참조하여 찾을 수 있다.
DDL = 취소안되는 명령어임
grant - 권한 주는 명령어
revoke - 권한을 빼앗는 명령어
- 산술연산자 사용가능(* / + -) / 괄호우선
- salary + 300 하면 모든 샐러리줄에 300이 추가된 값이 나온다.
- salary + 300 as after salary 하면 after salary로 나온다.
- 12 x salary + 100이랑 12 x (salary + 100)이랑은 다르다.
월급에 12를 곱해서 100을 더하냐, 월급에서 100을 올리고 12를 곱하냐니까!
- 연산에 null 값이 들어가지 않도록 해야한다.
- null값을 포함하는 산술식은 산술값도 null이 된다.
- ""과 null은 다르다!!
- 열 별칭
- 열 머리글의 이름을 변경한다
- 계산식에 대한 열머리를 지정할 때 유용하다.
- 열 이름 바로 뒤에 사용하며, 열 이름과 별칭사이에 선택적으로 AS키워드 사용가능합니다.
AS
, 앞글자
, ""(공백이 있거나 특수문자인 경우)
다 된다
- 공백 또는 특수 문자(#또는 $등)가 있거나 대소문자를 구분할 경우 큰 따옴표를 사용합니다.
SELECT last_name AS name, commission_pct comm
FROM employees;
SELECT last_name "name", salary*12 "Annual Salary"
FROM employees;
- 연결 연산자 사용
- 사람과 직무를 같이 보고싶을때,
||
사용
- 열을 다른 열, 산술식 또는 상수 값에 연결하여 문자식을 생성할 수 있다.
SELECT last_name||job_id AS "Employees"
FROM employees;
- 리터럴 문자열
- 리터럴은 select 목록에 포함된 문자, 숫자 또는 날짜이다.
- 날짜 및 문자 리터럴 값은 반드시 작은 따옴표로 묶어야 한다.
- 각 문자열은 각 행(row)이 반환될 때마다 한 번씩 출력된다.
연결 연산자 ||을 이용한 문자열 사용! 결과는 "last_name is a job_id"식으로 나오게 된다.
- 중복행
- 특별히 표시하지 않는 한 iSQL Plus는 중복 행을 제거하지 않은 상태로 질의 결과를 표시한다.
이처럼 겹치는 부서번호도 모두 표시하며 부서 번호가 반복되어 있는 걸 볼 수 있다.
- DISTINCT
- 결과에서 중복 행 제거하려면 SELECT 절에서 SELECT 키워드 바로 다음에 DISTINCT 키워드 넣어야 한다.
- 중복행 제거
- 여러 열도 지정 가능
선택한 모든 열에 영향을 준다.
- 테이블 구조 표시
- Null
- 열에 반드시 데이터가 포함되어야 하는지를 나타냅니다. NOT NULL이면 열에 반드시 데이터가 포함되어있어야 한다.
- Type
데이터 유형 | 설명 |
---|
NUMBER(p,s) | 최대 자릿수가 p고 소수점 이하 자릿수가 s인 숫자 값입니다. |
VARCHAR(s) | 최대 크기가 s인 가변 길이 문자 값입니다. |
DATE | B.C. 4712년 1월 1일 ~ A.D. 9999년 12월 31일 사이의 날짜 및 시간 값입니다. |
CHAR(s) | 크기가 s인 고정 길이 문자 값입니다. |
NUMBER
VARCHAR2
DATE 정도가 많이 사용된다.
- LIKE 'S%' : 라이크를 쓴다는것은 완전히 똑같은게 아니라 S로 시작하는 것을 말한다(혹은 s로 끝나는 것 등등을 표현할 수 있다)
- %위치에 문자가와도되고 안와도된다는것.
- 언더바는 언더바당 문자 하나씩 와야한다.
- IS NULL 조건 사용