基本の基本 Select 文
データベースからレコードを取得するには?
データベースのテーブルからデータを取得するには SELECT ステートメントを使います。
SELECT 文の全構文は複雑ですが、上手に書くと欲しいデータを効率よく取得することができます。
逆に下手に書くと、データの取得に時間がかかり、アプリケーションのパフォーマンスに大きく影響します。
SELECT ステートメントの構文はこんな感じ
SELECT ステートメントの構文は以下の通りです。
[ WITH ] SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ]
[ ] でくくられているのはオプショナルな句で、必須なのは SELECT 句だけです。
それぞれの句の役割をすごくざっくり説明すると、つぎのような感じです。
- SELECT: 取得したいデータを指定する
- INTO: SELECT の結果を新しいテーブルを作ってインサートする
- FROM: データを取得したいテーブルを指定する
- WHERE: データを取得する際の条件を指定する
- GROUP BY: データをグループするときに指定する
- HAVING: データをグループしたときの条件を指定する
- ORDER BY: データの表示順を指定する (ASC: 昇順 | DESC: 降順)
WITH は 共通テーブル式 (common table expression: CTE) を使うときに使われるキーワードで、また後ほど説明します。
では、例をあげながら、それぞれの句の使い方を見ていきましょう。