Output Diary

プログラミング × 読書 のアウトプットを発信しています

【SQL】SELECT文

f:id:kina_kq:20210419082652j:plain

 

SELECT文では、

様々な条件を付加することで、データを柔軟に取り出すことが出来ます。

 

SELECT文の基本

 

SELECT文の基本は、

「どのような条件で」

「どの表から」

「どの列を取り出すか」

です。

 

条件を指定することにより、

データベースから様々なデータを取り出すことが出来ます。

 

❏ SELECT文の構成

f:id:kina_kq:20210419083759j:plain

 

例えば、

以下のような商品表があるとします。

 

f:id:kina_kq:20210419084452p:plain

 

じゃあSELECT文の基本に合わせて

データを実際に取り出してみましょう!

 

「どのような条件で」→単価が300円以上のもの!

「どの表から」→商品表から!

「どの列を取り出すか」→商品名と単価

 

これでやってみます。

 

そうするとこうなります。

f:id:kina_kq:20210419084633p:plain

求めているデータを取り出すことに成功しました!

 

 

 SELECT文で表してみると、

SELECT 商品名、単価 

FROM 商品表

WHERE 単価>= 300

となります。

 

 

もっと詳しくSELECT文について解説していきます。

 

射影

 

射影は表の中から特定の列を取り出す関係演算です。

射影を行うには以下のように指定します。

 

SELECT 商品名 FROM 商品表

f:id:kina_kq:20210419090121j:plain

 

選択

 

選択は表の中から特定の行を取り出す関係演算です。

WHERECT句を使って、取り出したい行の条件を指定します。

 

SELECT * FROM 商品表 WHERE 単価< 95

f:id:kina_kq:20210419090844j:plain

 

 

論理演算子

 

複数の条件を組み合わせて抽出する場合な論理演算子を用います。

 

論理演算子には

AND

OR

NOT 

があります。

 

結合

 

 最後に、

表と表とを結合させる演算子「結合」です。

以下のように記述します。

 

SELECT * 

FROM 受注表,顧客表

WHERE 受注表.顧客コード=顧客表.顧客コード

 

 

FROM句の中にくっつけたい表の名前を羅列して、

WHERE句で「どの列を使ってくっつけるか」の指定をします。

 

f:id:kina_kq:20210419092940j:plain

 

WHERE 受注表.顧客コード=顧客表.顧客コード

の部分の、受注表.顧客コードのような表記は、

「表名.列名」となっています。

 

表名の列名の間にある「. 」は所属を荒らしており、どの表に属する列であるかということを表現するために用いられています。