SQL

データベースの参照

データベースの参照にはSELECT文を使います。

 

SELECT * FROM テーブル名;

 

テーブル名:参照するテーブルの名前

*:すべての行のすべての列

 

SELECT 列名 FROM テーブル名;

テーブルから指定した列だけを取り出す。

特定の列を取り出すことを射影と呼びます。

 

特定の行だけを読みだすには

年齢が30歳以上の人だけとか、男性だけとかある条件を満たす行だけを取り出すことができます。特定の行を取り出す操作を選択と呼ぶことがあります。

条件式の書き方

SELECT <列名リスト> FROM <表名> WHERE <条件式>;

 

比較演算子

<  条件より小さい

>  条件より大きい

<=  条件より小さいか同じ

>=  条件より大きいか同じ

  条件と同じ

<>  条件と異なる

 

実行例

SELECT * FROM 商品 WHERE 商品コード=100;

商品コードが100の行を取り出します。

 

実行例

SELECT * FROM 商品 WHERE 商品コード>=200;

商品コードが200以上の行を取り出します。

 

※時間やテキストを条件式にするには、値の部分をクォーテーションなどで囲むなどの決まりがあります。これはデータベースの種類やOSによって異なります。

 

あいまい検索ができる演算子

BETWEEN<A>AND<B> 条件Aと条件Bの間

IN           条件のいずれかと一致

LIKE          条件を含む

 

実行例

SELECT * FROM 商品 WHERE 単価 BETWEEN 1000 AND 1999;

商品表から単価が1000円台の行を取り出します。

 

実行例

SELECT * FROM 商品 WHERE 商品コード IN(10,20,30);

商品表から商品コードが10、20、30のどれかと一致する行を取り出します。

 

実行例

SELECT * FROM 商品 WHERE 商品名 LIKE '%大きい%';

商品表から商品名に’大きい’という文字列を含む行を取り出します。

%をワイルドカード文字といい、データベースによって使える記号が異なります。

 

行の挿入

INSERT INTOコマンド

行を追加するにはINSERT INTOコマンドを使います。

 

VALUES句

表に一行ずつ追加するときは、設定する値を書くのに、VALUES句を使います。

INSERT INTO <表名> (<列名リスト>) VALUES (<値のリスト>);

 

実行例

INSERT INTO EMP (EMPNO,ENAME,JOB) VALUES (1111,'YAMADA','SE');
カッコが二つあり、左のカッコには値を設定する列名を書き、右のカッコにはそこに入れる値をリストします。

 

データの更新

UPDATEコマンド

データの更新にはUPDATEコマンドを使います。

UPDATE <表名> SET <代入式のリスト>;

 

実行例

UPDATE 商品 SET 単価=単価 * 1.1;