サーチ…


Access SQL入門

Accessを使用すると、クエリを使用してデータを取得できます。これらのクエリは、Structured Query Language(SQL)を使用して構築されます。 SQLを理解することは、より良い、より有用なクエリを構築するのに役立つため、重要です。

Accessでクエリを作成するときは、「SQLビュー」に切り替えることができます。 「選択」クエリの例を以下に示します。

ここに画像の説明を入力

ユニオン(マージ)クエリ

リレーショナル・ジョインを行わずに(つまり、すぐ後に1つのデータセットをリストしたい)、類似したフィールドを持つ複数のテーブルまたはクエリの結果を1つの結果データセットに結合する場合は、 UNIONクエリを使用します。ただし、 これらのクエリはSQLビューで手動で作成する必要があります。

UNIONクエリの構文は次のUNIONです。

SELECT
  floatingpoint_field AS floatptfld,
  text_field
FROM first_table
  UNION
SELECT
  integer_field,
  decimal_field
FROM a_saved_query
  UNION
SELECT
  1.0,
  "hi there Jack"

フィールド(列)名を持つ2フィールドのデータセットを返します: floatptfldtext_field

後でマージされるテーブルフィールドのデータ型(およびデータスタイル)は、シリーズの最初のクエリと互換性があることが重要です。つまり、最初のSELECTクエリで最初の列の数値が生成された場合、2番目のクエリは最初の列の数値も返す必要があります。フィールドのタイプを順番に照合するだけでなく、 SELECTステートメントは同じ数のフィールドを返す必要があります。結果として生じるデータシートのフィールドの名前は、最初のテーブル定義から継承されます。

テキストは10進データに変換することも、浮動小数点数を整数に変換することもできません(明示的な切り捨てや丸めと型キャストなしで)。

SELECT
  integer_field AS this_really_wont_turn_out_well,
  decimal_field
FROM a_saved_query
  UNION
SELECT
  floatingpoint_field,
  text_field
FROM first_table

COUNT()関数

COUNT()関数を使用すると、クエリに一致するレコードの数を返すことができます。次の「従業員」テーブルには、従業員ID番号とそれに関連するマネージャのID番号が含まれています。

従業員ID Manager_ID
12 37
22 37
37 63
42 45
45 63
57 45
59 45
63

COUNT()ステートメントを使用して、特定のマネージャを持つ従業員の数を調べることができます。

SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;

返品

CNT

2

この関数は、より複雑なクエリで組み合わせることもできます。特定の人が何人の従業員を直接監督しているか調べるには、次のようにします。

SELECT T1.Employee_ID,
    (SELECT COUNT(*) AS CNT FROM Employees AS T2 WHERE T2.Manager_ID =
        T1.Employee_ID) AS Supervised_Count
FROM Employees AS T1;

戻り値:

従業員ID 監視対象数
12 0
22 0
37 2
42 0
45 3
57 0
59 0
63 2

MSDNのドキュメントはここにあります



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow