오라클(ORACLE) Query 정리 (DML)
Posted 2008/03/30 03:261. 사용 가능한 모든 테이블 보기.
SQL> select * from tab;
| TNAME | TABTYPE | CLUSTERID |
|---|---|---|
| COURSE | TABLE | - |
| PROFESSOR | TABLE | - |
| ENROLL | TABLE | - |
| TEACH | TABLE | - |
| TEST | TABLE | - |
| BIN$UYKt7HVzS5ysFJBENaAf2w==$0 | TABLE | - |
| BIN$zUzFZ5NoR3ifBgnxvkeffw==$0 | TABLE | - |
| BIN$iIZ4VDi8R6ysk3KnSDNmbg==$0 | TABLE | - |
| BOOK2 | TABLE | - |
| BIN$4r3hx/OGS1CIMeGS1Xvp4Q==$0 | TABLE | - |
| More than 10 rows available. Increase rows selector to view more rows. | ||
SQL> select * from tabs;
| TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS | PCT_FREE | PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS | LOGGING | BACKED_UP | NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE | CHAIN_CNT | AVG_ROW_LEN | AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS | DEGREE | INSTANCES | CACHE | TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED | PARTITIONED | IOT_TYPE | TEMPORARY | SECONDARY | NESTED | BUFFER_POOL | ROW_MOVEMENT | GLOBAL_STATS | USER_STATS | DURATION | SKIP_CORRUPT | MONITORING | CLUSTER_OWNER | DEPENDENCIES | COMPRESSION | DROPPED |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| REVIEW | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | - | - | - | - | - | - | - | - | 1 | 1 | N | ENABLED | - | - | NO | - | N | N | NO | DEFAULT | DISABLED | NO | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| LESSON | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 1 | 5 | 0 | 0 | 0 | 19 | 0 | 0 | 1 | 1 | N | ENABLED | 1 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| TEACHER | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 1 | 5 | 0 | 0 | 0 | 17 | 0 | 0 | 1 | 1 | N | ENABLED | 1 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| DUMMY | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 1 | 5 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 1 | N | ENABLED | 1 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| SALGRADE | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 5 | 5 | 0 | 0 | 0 | 10 | 0 | 0 | 1 | 1 | N | ENABLED | 5 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| BONUS | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | N | ENABLED | 0 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| EMP | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 14 | 5 | 0 | 0 | 0 | 37 | 0 | 0 | 1 | 1 | N | ENABLED | 14 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| DEPT | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 4 | 5 | 0 | 0 | 0 | 20 | 0 | 0 | 1 | 1 | N | ENABLED | 4 | 08/03/14 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| STUDENT | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 10 | 5 | 0 | 0 | 0 | 52 | 0 | 0 | 1 | 1 | N | ENABLED | 10 | 08/03/28 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| BOOK1 | USERS | - | - | VALID | 10 | - | 1 | 255 | 65536 | - | 1 | 2147483645 | - | - | - | YES | N | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | N | ENABLED | 0 | 08/03/28 | NO | - | N | N | NO | DEFAULT | DISABLED | YES | NO | - | DISABLED | YES | - | DISABLED | DISABLED | NO |
| More than 10 rows available. Increase rows selector to view more rows. | |||||||||||||||||||||||||||||||||||||||||||||||
SQL> select table_name from tabs;
// 모든 사용자 table 보기
| COURSE |
| PROFESSOR |
| ENROLL |
| TEACH |
| TEST |
| BOOK2 |
| BOOK1 |
| STUDENT |
| DEPT |
| EMP |
| More than 10 rows available. Increase rows selector to view more rows. |
2. TABLE 구조도 보기
SQL> desc emp;
| Table | Column | Data Type | Length | Precision | Scale | Primary Key | Nullable | Default | Comment | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EMP | EMPNO | Number | - | 4 | 0 | - | - | - | - | |||
| ENAME | Varchar2 | 10 | - | - | - | - | - | |||||
| JOB | Varchar2 | 9 | - | - | - | - | - | |||||
| MGR | Number | - | 4 | 0 | - | - | - | |||||
| HIREDATE | Date | 7 | - | - | - | - | - | |||||
| SAL | Number | - | 7 | 2 | - | - | - | |||||
| COMM | Number | - | 7 | 2 | - | - | - | |||||
| DEPTNO | Number | - | 2 | 0 | - | - | - | |||||
| ||||||||||||
3. 쉘 명령어 실행 (sqlplus 내에서 윈도우의 프로그램 구동 기능)
SQL> host notepad;
4. SQL문 편집 명령어
SQL> select empno, ename, job
from emp
where empno=7900;
EMPNO ENAME JOB
---------- -------------------- ------------------
7900 JAMES CLERK
// SQL버퍼의 모든 행 나열
SQL> list1 select empno, ename, job
2 from emp
3* where empno=7900
// 1행 선택
SQL> list 11* select empno, ename, job
// 선택한 행 끝에 ', sal'추가
SQL> a, sal1* select empno, ename, job, sal
// 편집된 SQL문 실행
SQL> run1 select empno, ename, job, sal
2 from emp
3* where empno=7900
EMPNO ENAME JOB SAL
---------- -------------------- ------------------ ----------
7900 JAMES CLERK 950
// 3행 선택
SQL> list 33* where empno=7900
// '7900'을 '7902'로 변경
SQL> change /7900/7902
3* where empno=7902
5. 최근 SQL문 재실행
SQL> run 또는
SQL> /
6. 버퍼에 있는 SQL문을 파일로 저장
SQL> save d:\study\oracle\select_emp.sql
7. 파일로 저장된 SQL문 불러와 버퍼에 저장
SQL> get d:\study\oracle\select_emp.sql
8. 파일에 저장된 SQL문 실행
SQL> @ d:\study\oracle\select_emp.sql 또는
SQL> start d:\study\oracle\select_emp.sql
9. 화면에 출력된 내용을 파일로 저장
SQL> spool d:\study\oracle\test.txt
SQL > select ename from emp where deptno = 10; // 쿼리 입력
SQL > spool off;
10. Cartesian Product
SQL >SELECT empno, ename, job, dname
SQL >FROM emp, dept;
11. Equi Join
// 사원정보를 출력하는데 부서정보도 같이 출력
SQL> SELECT empno, ename, job, dname
FROM emp, dept
WHERE emp.deptno = dept.deptno;
12. EQUI Join + 조건
// 급여가 2000 이상인 사원에 대해 사원정보와 부서정보를 같이 출력13. Equi Join + 테이블 별칭 이용
SQL> SELECT empno, ename, job, dname, loc
FROM emp, dept
WHERE emp.deptno=dept.deptno and sal>=2000;
SQL> SELECT empno, ename, job, dname, loc
FROM emp e, dept d
WHERE e.deptno = d.deptno and sal >= 2000;
14. BETWEEN a AND b
// 급여가 3000과 4000사이의 사원 이름과 부서명 출력
SQL> SELECT e.ename, d.dname
FROM emp e, dept d
WHERE e.sal BETWEEN 3000 AND 4000;
15. Self Join
// table이 1개이지만 자기가 자기 자신을 Join한다.
// 자신의 Manager의 정보가 존재하면 자신의 EMPNO와 ENAME, Manager의 EMPNO와 ENAME을 출력
SQL> SELECT e1.empno, e1.ename, e2.empno, e2.ename
FROM emp e1, emp e2
WHERE e1.mgr = e2.empno;
16. Outer Join
// 부서당 직원의 인원을 출력17. Single Row 서브질의
// Outer Join을 안쓰면 직원이 없는 부서는 출력되지 않음
SQL> SELECT count(a.deptno), b.deptno
FROM emp a, dept b
WHERE a.deptno(+) = b.deptno GROUP BY b.deptno;
// Single Row 서브질의
// 'SMITH'와 같은 직업을 같는 사원의 정보 출력
SQL> SELECT ename, empno, job
FROM emp
WHERE job =
(SELECT job FROM emp WHERE ename='SMITH');
18. Multiple Rows 서브질의 (IN)
// 부서별로 가장 많은 급여를 받는 사원의 정보
SQL> SELECT empno, ename, sal, deptno
FROM emp
WHERE sal IN
(SELECT MAX(sal) FROM emp GROUP BY deptno);
19. Multiple Rows 서브질의 (ANY)
// 30번 부서의 최소 급여를 받는 사원보다 많은 급여를 받는 사원의 정보
SQL> SELECT empno, ename, sal, job
FROM emp
WHERE deptno != 30 AND
SAL > any(SELECT sal FROM emp WHERE deptno=30);
20. Multiple Rows 서브질의 (ALL)
// 30번 부서의 최고 급여를 받는 사원보다 많은 급여를 받는 사원의 정보
SQL> SELECT empno, ename, sal, job
FROM emp
WHERE deptno != 30 AND
sal > ALL(SELECT sal FROM emp WHERE deptno=30);
21. Multiple Rows 서브질의 (EXISTS)
// 적어도 한명의 사원으로부터 보고를 받을 수 있는 사원의 정보
// 자신의 empno가 mgr에 존재하면 출력
SQL> SELECT empno, ename, sal
FROM emp e
WHERE EXISTS
(SELECT empno FROM emp WHERE e.empno=mgr);
'C.S.E > Database' 카테고리의 다른 글
| 오라클(ORACLE) 데이터 처리 함수 (0) | 2008/03/30 |
|---|---|
| 데이터 무결성 제약조건과 Constraint (0) | 2008/03/30 |
| 오라클(ORACLE) Query 정리 (DML) (0) | 2008/03/30 |
| ESQL Programming (0) | 2007/12/20 |
| Indexing의 효과 (0) | 2007/12/20 |
| MySql 기본명령어. (0) | 2007/01/20 |
- Filed under : C.S.E/Database
- Tag : Oracle, query
- Comment Trackback
이올린에 북마크하기