プロジェクト

全般

プロフィール

SQLコマンド

データ定義言語 / DML (Data Definition Language)

SELECT
※DML文の制限された形式、データベース内のデータへのアクセスのみが可能。

SELECT [ALL | DISTINCT(UNIQUE)]
{
  * | <列名> [[AS] <列別名>]
}
FROM
  <表名> [<表別名>]
[WHERE <条件式>]
[HAVING <条件式>]
[GROUP BY <式>]
 { <列名> | <列番号> } [ASC | DESC] [NULLS FIRST| NULLS LAST]

使用例
1.ユーザー ID が'99'の人を検索する。

SELECT * 
  FROM USER_MASTER
 WHERE USER_ID = '99';
項目 説明
* table内のすべてのカラムを表示する
FROM テーブル名を指定する
'(") 文字列として扱う,シングルを使うのが多い
WHERE 条件絞り込み

2.NAME,SALカラムのみ表示する。

SELECT NAME,SAL
  FROM USER_MASTER;

3.SALが30000以上のデータを抽出する。
 ※AME,SALカラムのみ表示する。

SELECT NAME,SAL
  FROM USER_MASTER
 WHERE SAL > 300000;
項目 説明
> 300000を含まない、300001超過のデータが対象
>= 左記の場合300000を含む300000超過データが対象
<> 300000と等しくないデータが対象
< 300000を含まない、299999未満のデータが対象
<= 300000を含む、300000未満のデータが対象

4.範囲選択検索
25歳から40歳の人を表示する。

SELECT NAME,AGE
  FROM USER_MASTER
 WHERE AGE BETWEEN '25' AND '40';

5.前方一致、後方一致 検索 (LIKE)

・使えるワイルドカード

項目 説明
% 任意の0文字以上の文字列
_ 任意の1文字

・エスケープ

項目 説明
% \%
_ _
\ \
ESCAPE区 LIKE 'tanaka$%' ESCAPE '$'; ''のESCAPEに$_と記述する

・名前が田中で始まる人を検索

SELECT * 
  FROM USER_MASTER
 WHERE NAME LIKE '田中%';

・名前が勤で終わる人を検索

SELECT * 
  FROM USER_MASTER
 WHERE NAME LIKE '%勤';

・ '%' を検索したい場合

SELECT * 
  FROM USER_MASTER
 WHERE NAME LIKE '%';

INSERT

DELETE

UPDATE

MERGE Oracle 9i

CALL

LOCK TABLE

EXPLAIN PLAN