あっという間に分かるSELECT文の書き方:さらっと覚えるSQL&T-SQL入門(2)(3/3 ページ)
アプリケーション開発でデータベースを利用する新人プログラマに向けて、SQLおよびT-SQLを短期間で理解できるよう、開発現場ですぐに必要となる内容を中心に解説する。(編集部)
さまざまな条件句の利用
(1)Likeによるパターンマッチング
特定の文字列が含まれるデータを絞り込みたい、というような場合には「Like」句を利用します。Like句は「%(パーセント)」や「_(アンダースコア)」といったワイルドカードを利用することにより、さまざまな条件で文字列を絞り込めます。ワイルドカードにはいくつか種類があり、その応用範囲は広いため、ここでは代表的な「%」と「_」を取り上げます。
- % 0個以上の文字列で構成される任意の文字列
- _ 任意の1文字
次の例では、Name列にBallという文字列を含む行、LLという文字列で始まる行、Decal +任意の1文字を含む行のいずれか、という条件で絞り込んでいます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
(2)BETWEENによる範囲指定
「BETWEEN」句を利用することにより、2つの値の間に含まれるデータを絞り込めます。次の例では、ReorderPointが600以上800以下である行を取得しています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
BETWEEN句は以上(>=)以下(<=)、という範囲指定であることに注意してください。次のような形で条件を指定した場合、BETWEEN句による結果とは一致しません。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
(3)INによる複数値との比較
「IN」句は指定の値リストの中に含まれるデータを絞り込みます。次の例では、Color列にBlackもしくはSilverが含まれる行を絞り込みます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
OR句を利用することで同様の条件を実現することが可能ですが、複数の値と比較する必要がある場合は、IN句を使った方がより短くクエリを書くことができます。
今回はSELECT文の基本を取り上げました。ここで取り上げたものだけでも、さまざまな形で応用することが可能です。サンプルデータベースなどを利用して、それぞれの動きを入念に確認しておいてください。
次回は、結果の並べ替えやグループ化などを取り上げます。お楽しみに!(次回へ続く)
筆者プロフィール
石橋潤一
株式会社システムインテグレータ勤務。Web+DBの業務アプリをメインに開発に携わる。@IT連載記事「SQL Server 2005を使いこなそう」「SQL Server 2005 CTPレビュー」執筆のほか、著書に『DBマガジン別冊 SQL Server 2005徹底活用ガイド』(翔泳社刊/共著)、『ASP.NET+SQL Server ゼロからはじめるWebアプリケーション』(ソフトバンクパブリッシング刊/共著)。
Copyright © ITmedia, Inc. All Rights Reserved.