忍者ブログ

ゆるいSEの小ネタ集

ゆるキャラ好きのITエンジニアが書くTips。 ゆるキャラ命なSEのIT徒然草 https://itmagic.hatenablog.com/

oracle sql

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

oracle sql

--------------------------------------------------
◆SELECT
--------------------------------------------------
■外部結合((+)で記述)
SELECT
   a.col1
  ,b.col2
FROM
   table1 a
  ,table2 b
WHERE
    a.userid = b.userid(+)
■FROM句内の副問い合わせ
SELECT *
FROM
  (SELECT ~
     FROM
       (SELECT ~
          FROM TABLEA
         WHERE COL1 = ~
       )
   GROUP BY ~
  ) a, TABLEB b
WHERE
  a.col1 = b.col1
 (略)


■副問合せ(in を使用)
SELECT MEISHO
  FROM TABLE1
 WHERE CODE1 IN (SELECT CODE2 FROM TABLE2 WHERE KEY1 = :KEY1)
⇒副問合せで複数レコードが返却される場合。
 上記のようにINを使用することで、
 TABLE2の検索結果をTABLE1の検索条件として使用できる。


■NOT EXISTS
※テーブル1を抽出時の条件:テーブル2のキーに合致しないレコードを抽出
  ・パターン1
   SELECT *
   FROM TABLE1 T1
   WHERE T1.KEY1 not in (SELECT KEY1 FROM TABLE2)
  ・パターン2
   SELECT *
   FROM TABLE1 T1
   WHERE not exists (SELECT KEY1 FROM TABLE2 WHERE KEY1 = T1.KEY1)
  どちらでもOK。
  ただし、パターン2にした場合に大幅にパフォーマンスが向上する場合がある。


--------------------------------------------------
◆管理作業用
--------------------------------------------------
■Oracleバージョン確認
select * from v$version;
 [出力例]
 Oracle Database 11g Release 11.2.0.1.0 - Production                              
 PL/SQL Release 11.2.0.1.0 - Production                                           
 CORE
 TNS for 32-bit Windows: Version 11.2.0.1.0 - Production                          
 NLSRTL Version 11.2.0.1.0 - Production                                           

■テーブル一覧出力
select table_name, tablespace_name, status from user_tables
select table_name, tablespace_name, status from tabs
■テーブル一覧とテーブルコメントも一緒に出力
select a.table_name
      ,b.comments
  from user_tables a
 left join user_tab_comments b
   on a.table_name = b.table_name
WHERE b.table_type = 'TABLE' 
order by b.table_name asc
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
ゆるキャラ命
性別:
非公開

P R