SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

DB내에서 모든 테이블을 조회하기

전체 테이블 조회

  • SELECT * FROM ALL_TABLES; (관리자일 경우)
  • SELECT * FROM USER_TABLES(관리자 아닐 경우)
  • SELECT * FROM TAB(관리자 아닐 경우)

소유자(OWNER) 조회

SELECT FROM ALL_TABLES WHERE OWNER LIKE '%OWNER명%';

테이블명 포함 된 조회

SELECT FROM USER_TABLES WHERE TABLE_NAME LIKE '%테이블명%';

테이블스페이스 이름으로 조회

SELECT FROM USER_TABLES WHERE TABLESPACE_NAME LIKE '%테이블스페이스명%';

==================================================

※. 아래는 부가 설명이 있음

==================================================

전체 테이블 조회 방법 3가지

  • ALL_TABLES
  • USER_TABLES
  • TAB

ALL_TABLES 테이블 구조

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

USER_TABLES 테이블 구조

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

TAB 테이블 구조

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

관리자 계정일 경우 - 모든 계정의 DB를 다 보여줌 ALL_TABLES (추천)

ex) SELECT * FROM ALL_TABLES; 

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

관리자 계정이 아닐 경우 (방법 3가지)

ALL_TABLES VS USER_TABLE (추천) = TAB

1. ALL_TABLES - 현재 계정관리자 DB만 보여짐

ex) SELECT * FROM ALL_TABLES;

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

2. USER_TABLE - 현재 계정이 가지고 있는 DB만 보여짐

ex) SELECT * FROM USER_TABLES;

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

3. TAB -현재 계정이 가지고 있는 DB만 보여짐

※주의 : TNAME, TABTYPE 컬럼만 있음

ex) SELECT * FROM TAB;

SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

테이블의 갯수가 점점 많아지다보면 어떠한 기능을 만들때 어떤 테이블을 써야하는지 어떤 테이블을 조인해야하는지 모르는 경우가 많습니다. 이럴때 활용할 수 있는 방법이 전체 테이블 목록을 보면서 찾는법, 코멘트를 찾는법 컬럼을 찾는법등이 있습니다. 오늘은 이러한 방법에 대해 소개해드리려 합니다.

전체 테이블 목록 조회

--전체 테이블 목록 조회
select * from all_all_tables
select * from dba_tables
select * from all_objects where object_type = 'TABLE'

--접속 계정 테이블 조회
select * from tabs 
select * from user_objects where object_type = 'TABLE' 
select * from user_tables

전체 테이블 조회는 권한이 있을경우에 실행시킬 수 있으며 권한이 없다면 접속계정 테이블 조회를 하시면 됩니다. 결과는 위와 같습니다.

전체 테이블 코멘트 조회

select * from all_tab_comments --전체 테이블 코멘트 조회
select * from user_tab_comments --접속계정 전체 테이블 코멘트 조회
SQL 전체 테이블 조회 - SQL jeonche teibeul johoe

어떤 테이블을 써야할지 모를경우 가장 활용도가 높은 방법인 테이블의 설명(코멘트)를 확인하는 방법입니다. where절에 Like를 사용하여 원하는 코멘트를 넣어 찾는 방법이 가장 좋습니다.

전체 컬럼 조회

select * from cols --전체 컬럼조회
select * from all_tab_columns --전체 테이블 컬럼 조회
select * from user_tab_columns --접속계정 테이블 컬럼 조회

특정 컬럼을 아는 경우 잘 사용할 수 있는 방법입니다. 특히 조인해야할때 특정 컬럼을 키로 조인해야할때 그 컬럼을 쓰는 테이블을 확인할때 많이 사용합니다. where절에 coloumn_name = [컬럼명]을 사용하시면 그 컬럼을 사용하고 있는 테이블을 확인하실 수 있습니다.

전체 컬럼 코멘트 조회

select * from all_col_comments --전체 컬럼 코멘트 조회
select * from user_col_comments --접속계정 컬럼 코멘트 조회

테이블에도 코멘트가 있듯이 컬럼에도 코멘트가 있습니다. 어떤컬럼을 사용해야할지 모르겠다면 컬럼의 코멘트를 조회해보는것도 좋은 방법입니다. where절에 원하는 코멘트를 입력해서 조회하여 컬럼이나 테이블을 찾는 방법을 많이 사용합니다.