데이터 베이스 특정 사용자 연결하면 기본적인 작업 수행
해당 사용자 테이블 무엇이 있는지 select * from tabs;
특정 테이블 선택하면 열 명 확인
해당 테이블 제약 조건 무엇인지
table공간을 MY_TBL로 생성하고 위치와 초기 SIZE를 지정, autoextend on next하여 10M 씩 커질 수 있고, MAX 사이즈를 지정
tester라는 사용자를 생성하고, table공간을 기본으로 MY_TBL을 사용하도록 설정, temp의 경우 SQL에 임시 저장을 할 경우 TEMP공간에 저장
GRANT로 권한을 부여할 수 있고, REVOKE로 권한을 회수 할 수 있음
sysdba 권한을 갖는 tester로 사용자 연결
rownum은 자동으로 쿼리 행에 임시로 순번을 지정해주는 것
where 조건문을 이용하여 원하는 양의 데이터를 출력 할 수 있는데
이 때 and, between 등의 조건은 사용할 수 없음
=> rownum은 반드시 1부터 시작되어야 되기 때문에 차례대로 출력하는 것은 가능하나 조건을 주어 사이의 값을 출력 할 수는 없음
만약 rownum된 값의 사이 값을 출력하고 싶다면 새로운 테이블을 만들어 지정된 rownum도 하나의 데이터로 사용하면 됨
||로 문자열을 연결해 줄수도 있음
as로 항목의 이름을 지정 해 줄 수도 있고, as 대신 "" 으로 항목의 이름을 만들어 줄 수 있음
프롬포트 변경, exit 하고 재 접속하면 다시 프롬포트가 변경됨
실행 경과 시간을 확인 할 수 있음
자리 수를 지정해줄 수 있음
line은 가로 pages 50이 넘으면 다음 페이지로 pages 14 크기
외부에서 SQL 파일 불러서 사용하는 방법
@ 외부 SQL파일의 위치
DATABASE 시작과 종료 시 명령어: start up, shutdown immediate(즉시 종료)
*(asterick): any의 의미, ? 한 문자로 의미
ALL: %, 한자리 any :_ 로 표시함
|: * 를 EXCAPE 문자를 사용 할 경우 |를 넣어 사용
조건에서 AND(둘 다), OR(둘 중 하나)를 이용할 수 있음
위의 방식도 있으나 between 10000 and 20000 방식으로 조건을 줄 수 있음
order by ASC:오름차순, DESC 내림차순;
order by 규칙을 두개를 줄 경우, 앞에서부터 실행됨
salary에서 동일한 값을 보게 되면 salary는 오름차순으로 가고 있으나, id에서 내림차순을 확인할 수 있음
distinct는 중복된 열을 지울 수 있음
where 조건에 or를 사용하거나, in(,)으로 묶어서 조건을 사용할 수 있음
=> 즉 and의 경우 between a and b로, or의 경우 in(,)로 변경하여 사용 가능함
지정되지 않은 값으로써 0이 아님
데이터세트에 null 이 있을 경우 계산이 수행되지 않음
null 구문의 값을 대체 하는 건 중앙값 또는 평균값, 해당 값을 넣으면 갯수는 늘어나도, 값에 대한 변화는 없음
is not null: 비어있지 않은 데이터를 출력 (is null의 경우 비어있는 데이터를 출력)
like는 ~와 같이라는 표현으로 사용
요소들을 그룹으로 묶어서 쿼리
쿼리문으로 얻은 결과를 GROUP BY 절에 명시한 사항으로 그룹화
AVG,SUM,MIN,MAX 등과 사용됨
GROUP BY 절에 조건을 줄 경우 HAVING~ 을 사용하면 됨