★データベース

【SQL】複雑な問合わせ

指定した値をすべて含むレコードを検索 最大の値を持つレコードをキーごとに抽出 最大の値を持つレコードを抽出 指定した値をすべて含むレコードを検索 bが1~5を含むレコードのaを取得 SELECT a FROM t1 WHERE b IN (1,2,3,4,5) GROUP BY a HAVING CONST(DI…

【Oracle】ロール、権限設定

SYS権限でログイン 権限を確認 ロール付与 権限付与 権限剥奪 SYS権限でログイン ※「as sysdba」をつける必要あり sqlplus sys/{パスワード}@{ネットサービス名} as sysdba 権限を確認 ※確認したいユーザーでログインして実行すること ※USERをDBAにするとデ…

【Oracle】ユーザー作成

SYS権限でログイン ユーザー情報確認 ユーザー作成 ユーザー削除 表領域確保 表領域容量確認 SYS権限でログイン ※「as sysdba」をつける必要あり sqlplus sys/{パスワード}@{ネットサービス名} as sysdba ユーザー情報確認 SELECT * FROM USER_USERS; -- ま…

【SQL】連番

ROW_NUMBER RANK ROW_NUMBER 同じ順位でも違う番号をふる SELECT 社員コード , 入社年月日 , ROW_NUMBER() OVER(PARTITION BY 部署コード ORDER BY 入社年月日 DESC) AS 入社が新しい順 FROM 社員マスタ RANK 同じ順位に同じ番号をふる SELECT 社員コード , …

【SQL】ビュー

ビュー マテリアライズド・ビュー リフレッシュ方法 リフレッシュタイミング ビュー SELECT文を保持して、開いた際にSELECT文が実行されるイメージ。 データは元のテーブルと連動して自動的に最新の状態に更新される。 列に別名を付けることができる。 --作…

【SQL】高速化

インデックス 実行計画 統計情報 ヒント Select Insert nologging ExistよりInnerJoin 豆知識 インデックス データの並び順をDBが保持する。 データ件数が多いテーブルの検索を早くすることができる。 初期状態では主キーに対してインデックスが割り当てられ…

【Oracle】PL/SQL

ファンクション 作り方 使い方 削除 プロシージャ 作り方 使い方 ファンクション SQL文の中で実行できる。 パラメータで渡された値の判定、変換処理、値の抽出を行う。 作り方 CREATE OR REPLACE FUNCTION FNC_SAMPLE( base IN NUMBER, height IN NUMBER ) R…

【ORACLE】ダンプファイル

ディレクトリ確認 ディレクトリ作成 エクスポート データベース単位 スキーマ単位 表領域単位 テーブル単位 インポート データベース単位 スキーマ単位 テーブル単位 ディレクトリ確認 SELECT * FROM DBA_DIRECTORIES; ディレクトリ作成 --ディレクトリ名と…

【SQL】結合まとめ

JOIN(INNER JOIN) LEFT JOIN(LEFT OUTER JOIN) RIGHT JOIN(RIGHT OUTER JOIN) FULL JOIN CLOSS JOIN JOIN(INNER JOIN) 両テーブルに存在するデータのみ出力 --ONを使用 SELECT * FROM 社員マスタ A JOIN 資格情報 B ON A.社員コード = B.社員コード …

【ORACLE】知識

データベースとインスタンス(SID) CDBとPDB システム権限 DBA権限 SYSDBA権限 サービス・リスナーの起動確認方法 データベースの開始 データベースの終了 データベースとインスタンス(SID) 【概要】 「データベース」はファイルのこと。 「インスタンス」は…

【ORACLE】インストール

ダウンロード インストール リスナー作成 データベース作成 tnsnames.ora設定 PDBのユーザー作成 A5M5設定 ダウンロード Oracle Database ソフトウェア・ダウンロード インストール ※例のバージョンは12.2.0 リスナー作成 データベース作成 tnsnames.ora設定 …

【ORACLE】SQL*Plus、SQL*Loader

tnsnames.ora SQL*Plus 概要 使い方 SQLファイルを実行する SQL*Loader 概要 使い方 コントロールファイル 雛形(タブ区切り) 雛形(カンマ区切り、ダブルクォーテーション区切りあり) 雛形(カンマ区切り、ダブルクォーテーション区切りなし) tnsnames.o…

【SQL】サブクエリ

SELECT句 集計結果を表示 全行に同じ情報を表示 WHERE句 検索結果を条件に指定 集計結果を条件に指定 FROM句 カスタマイズしたテーブルを結合 SELECT句 集計結果を表示 SELECT DISTINCT 社員コード, (SELECT COUNT(*) FROM 資格情報 sub WHERE main.社員コー…

【SQL】基本

読取(SELECT) 追加(INSERT) 更新(UPDATE) 削除(DELETE) テーブル作成(CREATE TABLE) テーブル削除(DROP TABLE) テーブル複製(CREATE SELECT) 件数をカウント(COUNT) 結合して抽出(UNION) 存在判定(EXISTS) 差分を抽出(MINUS) 一致行を…