SQL問合せを使用したデータの取得:SELECT文の概要

構造化問合せ言語は、データベース・ユーザーに、強力で柔軟なデータ検索メカニズム(SELECT文)を提供します。 この記事では、SELECT文の一般的な形式を見て、いくつかのサンプルのデータベースクエリを一緒に作成します。 これが構造化照会言語の世界への最初の挑戦である場合は、続行する前に、SQL 基礎の記事を参照してください。

新しいデータベースを最初から設計する場合は、「 SQLでのデータベースとテーブルの作成」の記事が優れた点を明らかにする必要があります

これで基本的なことを説明しましたので、SELECTステートメントの探索を始めましょう。 これまでのSQLレッスンと同様に、ANSI SQL標準に準拠したステートメントを引き続き使用します。 使用しているDBMSのドキュメントを参照して、SQLコードの効率性および/または有効性を向上させる可能性がある高度なオプションがサポートされているかどうかを調べることをお勧めします。

SELECTステートメントの一般形式

SELECT文の一般的な形式は次のとおりです。

SELECT select_list
FROM ソース
WHERE 条件は、
GROUP BY
保有状態
ORDER BY

ステートメントの最初の行は、このコマンドがSELECTステートメントであり、データベースから情報を取得することをSQLプロセッサーに指示します。 select_listを使用すると、取得する情報の種類を指定できます。

2行目のFROM句は、関連する特定のデータベーステーブルを指定し、 WHERE句は、指定した条件を満たすレコードに結果を制限する機能を提供します。 最後の3つの節は、この記事の範囲外の高度な機能を表しています。将来のSQL記事でそれらを探求します。

SQLを学ぶ最も簡単な方法は例です。 そこで、いくつかのデータベースクエリを見てみましょう。 この記事では、架空のXYZ Corporation人事データベースの従業員のテーブルを使用して、すべての質問を説明します。 ここに表全体があります:

従業員ID

苗字

ファーストネーム

給料

ReportsTo

1

スミス

ジョン

32000

2

2

Scampi

訴える

45000

ヌル

3

ケンドール

トム

29500

2

4 ジョーンズ アブラハム 35000 2
5 アレン ビル 17250 4
6 レイノルズ アリソン 19500 4
7 ジョンソン ケイティ 21000 3

全体テーブルの取得

XYZ Corporationの人事部長は、各従業員の給与と報告情報を提供する月次レポートを受け取ります。 このレポートの生成は、SELECT文の最も単純な形式の例です。 データベーステーブルに含まれるすべての情報(すべての列とすべての行)を取得するだけです。 この結果を達成するためのクエリは次のとおりです。

SELECT *
従業員から

かなり簡単ですね。 select_listに表示されるアスタリスク(*)は、FROM句で識別される従業員のテーブル内のすべての列から情報を取得することをデータベースに通知するために使用されるワイルドカードです。 データベース内のすべての情報を取得するため、WHERE句を使用してテーブルから選択した行を制限する必要はありませんでした。

クエリの結果は次のようになります。

従業員ID 苗字 ファーストネーム 給料 ReportsTo
---------- -------- --------- ------ ---------
1 スミス ジョン 32000 2
2 Scampi 訴える 45000 ヌル
3 ケンドール トム 29500 2
4 ジョーンズ アブラハム 35000 2
5 アレン ビル 17250 4
6 レイノルズ アリソン 19500 4
7 ジョンソン ケイティ 21000 3