SELECT・FROM
SELECT文の最も基本的な構文は次のような形です。
※SELECT 句の実行順序
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
SELECT 列名 FROM テーブル名
SELECT句では、si.shop_idやi.item_nameのようにテーブル別名.列名という記述のしかたをします。これは、テーブルが 1 つだけの場合と違って、結合の場合、どの列をどのテーブルから持ってきているかが不明瞭になりやすいため、それを防ぐための措置です。
この形式で記述をしなければならないのは、2つのテーブルに存在している列(ここではitem_id)のみであり、他の列は「shop_id」のように列名だけ書いてもエラーにはなりません。しかし、前述のように混乱を避けるという理由から、結合の場合は SELECT 句の全ての列を<テーブルの別名>.<列名>の書式で書くようにすることが望ましい。
WHERE
WHERE句を使用して条件を指定することで、取得したいデータのみを取得することができます。
SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 条件式
条件式は列名と演算子、関数などを使用して表現します。以下の例をご覧下さい。従業員テーブルから年齢が20歳以上の従業員名を取得しています。
SELECT 従業員名
FROM 従業員
WHERE 年齢 >= 20
比較演算子 | 説明 |
---|---|
= | 等しい |
< | 小さい |
> | 大きい |
<= | 以下 |
>= | 以上 |
<>, != | 等しくない |
論理演算子を使用することでWHERE句の中で複数の条件を指定することができます。 以下の例をご覧下さい。従業員テーブルから年齢が20歳以上かつ性別が男性の従業員名を取得しています。
SELECT 従業員名
FROM 従業員
WHERE 年齢 >= 20
AND 性別 = '男性'
WHERE句で使用できる論理演算子には以下のようなものがあります。
WHERE句で使用できる論理演算子
論理演算子 | 説明 |
---|---|
AND | 論理積, ○○かつ○○ |
OR | 論理和, ○○または○○ |
NOT | 否定, ○○でない |