ms-access
SQLへのアクセス
サーチ…
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フィールドのデータセットを返します: floatptfldとtext_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のドキュメントはここにあります 。
