[오라클]모든 테이블 명 가져오는 쿼리


테이블 명 가져오는 예제 쿼리


dba_tables의 접근 권한이 있다고 가정하면, 다음과 같다.

SELECT 
    owner
    , table_name
FROM dba_tables;

dba_tables 권한이 없는 경우 예제


dba_tables의 권한이 없으면 다음과 같이 테이블뷰를 사용한다.

SELECT 
    owner
    , table_name
FROM all_tables;


all_tables는 사용자가 접근할 수 있는 모든 테이블을 보여줍니다.


또 다른 방법으로는 다음과 같은 방법이 있다.



user_tables를 사용하는 경우의 예제


user_tables는 현재 접속한 사용자가 액세스 권한이 있는 테이블만 조회가 가능합니다.


그렇기때문에 owner에 대한 정보가 없습니다.


SELECT 
    table_name
FROM user_tables;



'DATABASE' 카테고리의 다른 글

[MySQL] Select Insert문  (0) 2017.12.26
[MySQL] String Replace  (0) 2017.12.20
[오라클] DATE 날짜 타입  (2) 2017.12.11
[MySQL]기본쿼리 (UPDATE)  (0) 2017.12.08
[MySQL] 기본 쿼리 (SELECT)  (0) 2017.12.02

MySQL 기본 쿼리(SELECT)


select 쿼리

select문은 하나이상의 행을 테이블에서 검색하는데 사용하며 하위쿼리(subQuery)를 사용할 수 있다.
select문은 테이블을 참조하지 않고 계산용으로도 사용할 수 있다.

SELECT 

    [컬럼명] 

FROM 

    [테이블명] 

WHERE 

    [조건]

AND

    [조건] 

GROUP BY [컬럼명] 

ORDER BY [컬럼명] [ASC | DESC]

LIMIT [행 수] OFFSET [시작 행 수]


select 쿼리 예제


SELECT
    idx,
    name,
    type,
    age,
    gender,
    birthday
FROM USER_TABLE
WHERE type = 'A'
ORDER BY idx ASC
LIMIT 0, 10
-- 또는 LIMIT 10 OFFSET 0


테이블을 참조하지 않은 select 쿼리 


SELECT
    1+1 AS result
FROM dual;

SELECT
    NOW()
FROM dual;

위의 쿼리는 숫자를 계산한 값을 결과로 얻는것이고

두번째 쿼리는 현재 시스템 시간을 얻는 쿼리 이다.

주의


페이징을 사용할 때에는 꼭 인덱스가 잡혀있는 테이블로 order by를 해서 가지고 옵시다.
그렇게 하지 않으면 테이블 Full scan이 일어나 DB성능에 영향을 줍니다.


'DATABASE' 카테고리의 다른 글

[MySQL] Select Insert문  (0) 2017.12.26
[MySQL] String Replace  (0) 2017.12.20
[오라클] DATE 날짜 타입  (2) 2017.12.11
[MySQL]기본쿼리 (UPDATE)  (0) 2017.12.08
[ORACLE] 모든 테이블 이름 가져오는 쿼리  (0) 2017.12.05

+ Recent posts