初心者向けSQL基本構文の学習入門講座

ORACLEをこれから学習される方向けにSQLとはどういうものか、簡単に紹介します。

SQLとは

データベースを操作するための言語です。
SQLとは、Structured Query Languageの略称です。

SQLは主に4種類に分かれています。
・DML(Data Manipulation Language)
 データの検索やデータの追加、更新、削除などを行います。
 例えばSELECT、INSERT、UPDATE、DELETEなどです。

・DDL(Data Definition Language)
 オブジェクトの作成や更新、削除を行います。
 例えばCREATE、ALTER、DROPなどです。

・DCL(Data Control Language)
 アクセス権限の付与や削除を行います。
 例えばGRANT、REVOKEなどです。

・トランザクション制御
 トランザクション(データの更新処理など)の確定や取り消しなどを行います。
 例えばCOMMIT、ROLLBACKなどです。

SELECT文の基本的な文法

テーブルからデータを検索し取得するのがSELECT文です。

基本的な文法は下記の通りです。
SELECT 列名 FROM テーブル名

SELECT句の後ろに取得したデータの列名を1つ以上書きます。
FROM句の後ろには、取得する元のテーブル名を書きます。

例えば顧客マスタから顧客情報の一覧を表示する場合は下記のようなSELECT文を実行します。
SELECT 顧客番号,顧客名 FROM 顧客マスタ

取得結果は以下のようになります。

0002 田中
0003 高橋
0001 鈴木

取得するデータを並び替えたい場合はORDER BY句を指定します。
デフォルトは昇順です。降順の場合はDESCを付けます。
SELECT 顧客番号,顧客名 FROM 顧客マスタ ORDER BY 顧客番号

※降順を指定する場合は↓
SELECT 顧客番号,顧客名 FROM 顧客マスタ ORDER BY 顧客番号 DESC

取得結果は以下のようになります。

0001 鈴木
0002 田中
0003 高橋

↓もっと詳しくデータの並び替えを知りたい方はこちら
SQLのソート(ORDER BY)

テーブルから取得するデータを絞り込みたい場合、WHERE句を追加します。
例えば顧客名が田中のデータだけを取得したい場合です。
SELECT 顧客番号,顧客名 FROM 顧客マスタ WHERE 顧客名 = ‘田中’ ORDER BY 顧客番号

取得結果は以下のようになります。

0002 田中




INSERT文の基本的な文法

テーブルにデータを登録するのがINSERT文です。

基本的な文法は下記の通りです。
INSERT INTO テーブル名(列名) VALUES (値)

例えば顧客マスタへデータを登録するINSERT文です。
INSERT INTO 顧客マスタ(顧客番号,顧客名) VALUES(‘0004′,’山本’);

※テーブルの全ての列に値を指定する場合は列名を省略することが出来ます。
INSERT INTO 顧客マスタ VALUES(‘0004′,’山本’);

UPDATE文の基本的な文法

テーブルのデータを更新するのがUPDATE文です。

基本的な文法は下記の通りです。
UPDATE テーブル名 SET 列名 = 値

例えば顧客マスタのデータを更新するUPDATE文です。
全てのデータの顧客名が中山に更新されます。
UPDATE 顧客マスタ SET 顧客名 = ‘中山’;

顧客番号が0004のデータだけ更新したい場合にはWHERE句を追加します。
UPDATE 顧客マスタ SET 顧客名 = ‘中山’ WHERE 顧客番号 = ‘0004’;

DELETE文の基本的な文法

テーブルのデータを削除するのがDELETE文です。

基本的な文法は下記の通りです。
DELETE FROM テーブル名

例えば顧客マスタのデータを削除するDELETE文です。
顧客マスタの全てのデータが削除されます。
DELETE FROM 顧客マスタ;

顧客番号が0004のデータだけ削除したい場合にはWHERE句を追加します。
DELETE FROM 顧客マスタ WHERE 顧客番号 = ‘0004’;

最後に

SQLの基本は覚えてしまえば難しいということはありません。
ぜひ覚えて、実践してみてください。

>>おすすめのORACLE参考書まとめ





【SQLでお困りの方にオススメ】
■SQLが遅くなる原因
・SQLが突然遅くなる原因と対応方法
・OracleSQLのレスポンスが遅い原因3つ
・JOINを使って表結合するとSQLが遅い!?
・SQLがパラレル実行されない原因

■SQLチューニングの基礎知識
・ORACLE SQLのヒントとは
・ORACLEのオプティマイザと実行計画について
・ORACLEのテーブルやインデックスの「統計情報」とは

■SQLチューニングの方法
・SLECT文が遅いときのインデックス作成によるチューニング方法
・Update文が遅いときのチューニング方法
・Delete文が遅いときのチューニング方法
・IN句をEXISTS句に置き換えするチューニング方法
・OR句の置き換えによるチューニング方法
・IN句の置き換えによるチューニング方法
・テーブルアクセスフルスキャンを無くしてチューニングする方法
・SQLでGROUP BYが遅いときのチューニング方法
・SQLのソート処理が遅い場合のチューニング方法

■表や索引の断片化対策
・プロが教えるORACLEの表や索引の断片化解消の見積り方法
・ORACLE表の断片化を解消する3つの方法

■SQLのチューニングの補足情報
・ORACLE SQLヒントの書き方
・SQLに複数のヒントの書き方
・OracleSQLに実装すべき3つのSQLヒント
・ORACLE表の統計情報取得日の確認方法
・「統計情報が古い」とはどういうことか
・ORACLE表の統計情報の取得方法

【自己学習したい方にオススメ】
・自宅で勉強用にORACLEデータベースを無償でダウンロードし構築する方法
・OracleMasterGold12cに一ヵ月で合格した勉強方法
・OracleMasterExpertパフォーマンス&チューニングに一ヵ月で合格した勉強方法
・手に職がない人はIT業界へ、オススメ資格と勉強方法
・OracleDBのチューニング勉強方法
・OraclePL/SQL勉強方法