【ORACLE】別スキーマのテーブルを参照する方法

ここではORACLEデータベースで、別のスキーマ(ユーザー)のテーブルを参照する方法を紹介しています。

ユーザに付与されている権限を確認する方法は↓で紹介していますので参考にしてください。
>>【ORACLE】ユーザに付与されている権限を確認するSQL

別スキーマのテーブルを参照する方法

別スキーマの表を参照するには、事前にシステム権限のSELECT ANY TABLE権限を付与する必要があります。

SELECT ANY TABLE権限の付与

SELECT ANY TABLE権限はGRANT文で付与します。

次のSQLではGRANT文を使って、user1にSELECT ANY TABLE権限を付与しています。

GRANT SELECT ANY TABLE TO user1;

システム権限の付与や取消については↓で詳しく解説していますので参考にしてください。
>>【ORACLE】システム権限を付与・取消するSQL

別スキーマのテーブルを参照する

別スキーマのテーブルを参照するときは、テーブル名をFROM句で指定するとき「スキーマ名.テーブル名」とします。

次のSQLでは、user2スキーマのtab1テーブルを参照しています。

SELECT * FROM user2.tab1

SELECT文の書き方や使い方については↓で詳しく解説していますので参考にしてください。
>>【SQL】SELECT文の書き方:サンプル多数あり

まとめ

別スキーマのテーブルを参照するには、事前にシステム権限のSELECT ANY TABLE権限を付与します。

またSELECT文では、FROM句のテーブル名の指定で「スキーマ名.テーブル名」と指定します。

この他にもORACLEにおける権限について↓で紹介していますのでぜひ参考にしてください。
【ORACLE】権限とは?システム・オブジェクト権限について
【ORACLE】システム権限の一覧
【ORACLE】システム権限を付与・取消するSQL
【ORACLE】オブジェクト権限を付与・取消するSQL
【ORACLE】オブジェクト権限を確認するSQL
【ORACLE】ユーザに付与されている権限を確認するSQL

【ORACLE】ロールに付与されている権限を確認するSQL