テーブルから全レコードを取得する
テーブルから全レコードを取得してみよう
データベースのテーブルからデータを取得するには SELECT ステートメントを使います。 SELECT ステートメントではいろいろな句やオプションを指定することができます。
まずは、一番シンプルなSELECT ステートメントから見ていきましょう。
サンプルデータを生成する
以下のクエリーを実行して、データを取得する元のテーブルを作っておきます。
CREATE TABLE Students ( StudentID INT NOT NULL PRIMARY KEY, FirstName VARCHAR(50) NULL, LastName VARCHAR(50) NULL, Birthday SMALLDATETIME NULL, Gender CHAR(1) NULL ); INSERT INTO Students (StudentID, FirstName, LastName, Birthday, Gender) VALUES (1, 'Taro', 'Yamada', '1980-02-15', 'M'), (2, 'Hanako', 'Tanaka' ,'1979-12-30', 'F'), (3, 'Yuko', 'Suzuki', '1979-07-07', 'F'), (4, 'Takao', 'Sato', '1980-03-12', 'M'), (5, 'Hiroki', 'Takagi', '1979-04-05', 'M');
テーブルの全カラム、全レコードを取得する
テーブルの全カラム、全レコードを取得したい時には次のクエリーで取得することができます。
SELECT * FROM [テーブル名];
SELECT の次の * は、FROM で指定されているテーブルの、全てのカラムを取得したい時に使われます。
ちなみに、カラムの順序は FROM で指定したテーブルのカラム順で、テーブルを複数指定した場合は、指定したテーブル順で表示されます。
次のクエリーを実行してみましょう。
SELECT * FROM Students;
[ 実行結果 ]
Students テーブルの全カラム、全レコードが、テーブルのカラム順で取得できました。
テーブルの特定のカラム、全レコードを取得する
では、次にテーブルーブルの特定のカラムの全レコードを取得してみましょう。
特定のカラムの情報のみを取得したい場合は SELECT 句でそのカラム名を指定します。
例えば、LastName と Birthday を取得したい場合のクエリーは次のようになります。
SELECT LastName, BirthDay FROM Students;
[ 実行結果 ]
Students テーブルの LastName と Birthday カラムの全レコードが取得できましたね。
DISTINCT で一意な行の結果セットを取得する
また、SELECT の次に DISTINCT をつけると、結果のセットでユニークな行だけを取得することができます。
SELECT DISTINCT Gender FROM Students;
[ 実行結果 ]
この時、値に NULL があった場合、NULL もひとつの値として扱われ、結果セットに含まれます。
次は、検索条件を指定してレコードを取得してみましょう。