テーブルやビューなどからデータを取得(選択)する SELECT FROM [SQLServer]

SQL Server ロゴ

SQLでデータベースのテーブルやビューなどからデータ(行)を取得する際には、SELECTステートメントを使用します。

本記事では、SQLServerなどのデータベースでデータを取得するに使用するSELECTステートメントを紹介します。

テーブルから行を取得するSELECTステートメント

SELECTステートメントは、データベースのテーブルからデータを取得する際に使用するSQLの中で最も基本的な命令になります。

SELECTステートメントでは、文字通りSELECTというキーワードを使用します。

SELECTステートメントの文法構成は、SELECTの後に選択列のリストを記述します。

選択列のリストはSELECT句に続けて1行で記述することができますが、改行した方が見やすくなります。

選択列のリストでは、どの列を取得するかを選択(指定)します。
取得する列が複数ある場合は、カンマ(,)で区切ります。

例えば、「ID」と「氏名」の2つの列を取得する場合は、以下のようになります。

どの列を取得するかを指定したら、今度はどこから取得するかを指定します。
SQLでどこから取得するかを指定する際はFROMというキーワードを使用します。

FROM句は、SELECT句で指定した選択列のリストの後に記述します。

FROMの後には、どこから取得するかを指定しますので、テーブルを記述します。

「従業員」テーブルから「ID」列と「名」列を取得するのであれば、以下のようになります。

すべての列を取得する

上記の例では、SELECT句で取得する列を指定していました。
列数が多くない場合は問題ないですが、列の数が50や100あるテーブルのすべての列を記述するのは、少し大変です。

そこでSQLでは、テーブルのすべての列を取得するための方法が用意されています。

すべての列を取得する場合は、SELECTの後に選択列のリストの替わりにアスタリスク(*)を記述します。

「従業員」テーブルからすべての列を取得したい場合であれば、以下のようになります。

上記の例ではテーブルからデータを取得していますが、SELECTステートメントは、ビューやユーザー定義ファンクション(関数)からデータを取得する場合にも使用できます。

まとめ

本記事では、データベースのテーブルからデータを取得する際に使用する、SQLのSELECTステートメントについて紹介しました。

SELECTステートメントでは、どれを取得するかを指定するSELECT句と、どこから取得するかを指定するFROM句がありました。

SELECTステートメントでは取得する「列」を指定しましたが、SQLでは取得する「行」を指定する命令も用意されています。
取得する「行」を限定する場合は、WHEREというキーワードを使用します。

WHERE句については、以下の記事で紹介していますので、合わせてご覧ください。

テーブルやビューから取得するデータの条件を指定する WHERE [SQLServer]
前回の記事では、データベースのテーブルからデータを取得する際に使用するSELECTステートメントを紹介しました。 SE...