あっという間に分かるSELECT文の書き方:さらっと覚えるSQL&T-SQL入門(2)(1/3 ページ)
アプリケーション開発でデータベースを利用する新人プログラマに向けて、SQLおよびT-SQLを短期間で理解できるよう、開発現場ですぐに必要となる内容を中心に解説する。(編集部)
主な内容
--Page 1--
▼SELECT文の基本
▼AS句を利用した別名の付与
▼DISTINCT句による重複データの絞り込み
--Page 2--
▼算術演算子の利用
▼WHERE句による絞り込み
--Page 3--
▼さまざまな条件句の利用
SQLおよびT-SQLの入門解説として始まった本連載、今回は「SELECT」文について取り上げます。今回の記事から読み始めた方は、前回の「初めてSQLコマンドを叩く緊張と感動の一瞬」でSQLの概要とSQL Server 2005の管理ツール「Management Studio」について確認してください。本連載は、SQL Server 2005、サンプルデータベースのAdventureWorksの利用を前提として進めていきます。
データベースは、データの格納だけが目的ではありません。格納したデータを取り出し利用して初めて真価を発揮するといえます。今回取り上げるSELECT文は、データベースから目的のデータを取得する際に利用します。このため、最も基本的、かつ最も利用頻度の高いSQL文です。このSELECT文をマスターすることがSQLを学ぶうえで必須となります。
SELECT文の基本
SELECT文の最も基本的な構文は次のような形です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
「SELECT」句の次に列名を指定し、「FROM」句の後にデータ取得対象のテーブル名を指定します。すべての列を指定したい場合、列名を「*(アスタリスク)」に置き換えます。試してみるのが手っ取り早いので、まずはAdventureWorksの「Product」テーブルからデータを取得してみましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Productテーブルから、全列のデータを取得できました。アスタリスクを利用することで、テーブルの構成を知らなくとも簡単に結果を取得できます。
では、続いて列名を指定してみましょう。Productテーブルから、3つの列のデータだけを取得するSELECT文は次のとおりです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
列名を指定した場合の結果は、SELECT句で記述した順に表示されます。列順を入れ替えることで、見やすい結果に調整することが可能です。
AS句を利用した別名の付与
SELECT文を発行すると、表の形でデータを得ることができます。その際、列名にはテーブル定義に従った名前が表示されますが、この列名は自由に変更できます。列に対し別名を付与するには、SELECT句で指定した列名の後に「AS」句を利用します。次の例では、2つの列に対し別名を付与しています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
別名の付与に際しては、AS句を省略することも可能です。別名の付与は、次回以降紹介するテーブル結合の際によく利用します。
DISTINCT句による重複データの絞り込み
Productテーブルは、製品ごとの色情報を収めた列「Color」を持っています。このColor列から重複した内容を取り除き、Productテーブルに含まれる色一覧を取得したい、というような場合には「DISTINCT」句を利用します。DISTINCT句は、重複する行を取り除いた結果を返します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
DISTINCT句はSELECT文で得られる行から重複データを取り除く、という点に注意してください。SQLを次のように記述した場合、Name列とColor列が重複している場合にその行が取り除かれます。Productテーブルには重複した製品情報は収められていないため、下記のSQLではDISTINCT句に意味はありません。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
DISTINCT句を使った結果と使わない結果を見比べて、どのような動作をしているか確認を行っておきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.