アクセス講座
トップ > テーブル操作
まずテーブルを作成しデータを入れます。
|
テーブル名:T_ひらがな |
||
| ID | 文字数 | データ |
| 01 | 1 | あ |
| 02 | 1 | い |
| 03 | 1 | う |
| 04 | 1 | え |
| 05 | 1 | お |
| 11 | 3 | みかん |
| 12 | 3 | りんご |
| 13 | 3 | ぶどう |
| 14 | 2 | かき |
下のクエリ式を入力し、実行。
| select * from T_ひらがな |
| [T_ひらがな]がテーブル名。 全フィールドを表示 |
| select ID from T_ひらがな |
| ID列のデータのみ表示。 |
テーブル名やフィールド名は別名をつけることが出来ます。
別名で表示したい場合や、テーブルを結合するときなどに使用します。
| select データ as 文字 from T_ひらがな as T_平仮名 |
| [T_ひらがな]がテーブル名。 それぞれ以下のように変換 [T_ひらがな] → [T_平仮名] [データ] → [文字] |
条件を加えるときは [ where ] を使う。
| select * from T_ひらがな where データ = "あ" |
| データが"あ"である行を表示する。 |
複数条件をつけるときは[ and ] や [ or ]を使用する。
| select * from T_ひらがな where データ = "あ" or データ = "う" |
| "あ"と"う"の行を表示する。 |
or 条件を簡単に書くには[ in ]を使用する。
| select * from T_ひらがな where in データ = ("あ", "う" ) |
| "あ"と"う"の行を表示する。 |
含む文字を表示するときは[ like ]を使用する。
| SELECT * FROM T_ひらがな WHERE データ like "*ん*" |
| "ん"を含むデータが表示される。 |
範囲を指定するときは[ between ]を使用する。
| select * from T_ひらがな where between 文字数 = 1 and 文字数 = 3 |
| 文字数が1~3の間の行が表示される。 |
■並べ替え
並べ替えるときは [ order by ]を使う。
| select * from T_ひらがな order by ID 『同文』 select * from T_ひらがな order by ID asc |
| IDが昇順で表示される。 |
降順で表示するには[ desc ]を付け加える。
| select * from T_ひらがな order by ID desc |
| IDが降順で表示される。 |
2つのフィールドから順番をしていするには"カンマ"を挟んで入力する。
| select * from T_ひらがな order by ID ,文字数 |
| ID,文字数順に昇順で表示される。 |
■グループ化
グループ化するときは[ group by ]を使う。
| select 文字数, count(*) as 件数 from T_ひらがな group by 文字数 |
| 文字数ごとに行件数を表示する。 count(*)は件数表示のための文 |
■グループ化後、条件表示
グループ化したテーブルに条件を加えるには[ having ]を使用する。
| select count(*) as 件数 from T_ひらがな group by 文字数 having count(*) > 1 |
| 件数が1より大きいデータのみ表示する。 |
■データ格納
データの入力は[ insert into ]を使用する。
| insert into T_ひらがな(ID , 文字数 , データ) values("20" , 4 , "コーヒー") 『同文』 insert into T_ひらがな values("20" , 4 , "コーヒー") |
| [T_ひらがな]にデータを一行加える。 フィールド名はすべてデータが記入されている場合のみ省略できる。 テキスト型のデータには[ " ](ダブルコーテーション)で囲む。 |
■データ更新
データ更新には[ updete ~ set ]を使用する
| update T_ひらがな set データ = "ちょこ" where ID = "11" |
| [T_ひらがな]テーブルのIDが"11"であるデータを "ちょこ"に変更する。 ちなみに条件を指定しないと全ての行で変換が有効となる。 |
複数指定するには"カンマ"を挟んで入力する。
| update T_ひらがな set データ = "まめ",文字数 = 2 where ID = "11" |
| [T_ひらがな]テーブルのIDが"11"であるデータを "まめ"に、文字数を"2"に変更する。 |
■データ削除
データ削除するには[ delete table]を使用する。
| delete table from T_ひらがな where ID = "20" 『同文』 delete from T_ひらがな where ID = "20" |
| [T_ひらがな]テーブルのIDが"11"であるデータを 削除する。 ちなみに条件を指定しないと全ての行が削除される。 |
■テーブル結合(Join)
2つのテーブルを結合します。その為にもう一つテーブルを作成しましょう。
|
テーブル名:T_カタカナ |
||
| ID | 文字数 | データ |
| 01 | 1 | ア |
| 02 | 1 | イ |
| 03 | 1 | ウ |
| 04 | 1 | エ |
| 06 | 1 | カ |
| create table T_カタカナ(ID varchar(50) , 文字数 int , データ varchar(50)
) insert into T_カタカナ values("01",1,"ア") ・・・ |
||
結合するためには[ inner join ~ on ]を使用する。
| select * from T_ひらがな inner join T_カタカナ on T_ひらがな.ID = T_カタカナ.ID 『同文』 select * from T_ひらがな as a inner join T_カタカナ as b on a.ID = b.ID 『同文』※注意:アクセスでのみ実行可能 select * from T_ひらがな as a , T_カタカナ as b where a.ID = b.ID |
| inner join の後に加えたいテーブルを入力する。 on の後に結合要素となるフィールド名を入力する。 別名を使用し、入力することも可能。 両テーブルで一致するデータのみ表示される。 最後の文はアクセスで実行可能ですが、処理が遅いためお勧めしません。 |
表示するフィールドを選択するには"*"の代わりにフィールド名を入力する。
| select a.ID , a.文字数 , a.データ as ひらがな , b.データ as カタカナ from T_ひらがな as a inner join T_カタカナ as b on a.ID = b.ID |
| 表示するフィールド名は、どのテーブルのフィールドなのかを書くこと。 書かないとアクセスに怒られます。 |
前のテーブルに後ろのテーブルを結合するには[ left join ]を使用する。
| select * from T_ひらがな as a left join T_カタカナ as b on a.ID = b.ID |
| [T_ひらがな]のテーブルを基盤に[T_カタカナ]が加わります。 一致しないデータには"Null"が入ります。 |
後ろのテーブルに前のテーブルを結合するには[ right join ]を使用する。
| select * from T_ひらがな as a right join T_カタカナ as b on a.ID = b.ID |
| [T_カタカナ]のテーブルを基盤に[T_ひらがな]が加わります。 一致しないデータには"Null"が入ります。 |
両テーブルの要素を全て結合するには[ outer join ]を使用する。
| select * from T_ひらがな as a , T_カタカナ as b 『同文』※注意:アクセスでは使えません。 select * from T_ひらがな as a outer join T_カタカナ as b on a.ID = b.ID |
| 両テーブルが相互に結合されます。 前者はアクセス以外で実行できません。 一致しないデータには"Null"が入ります。 |
テーブル定義が同じもの同士を結合し、行を増やしたい場合に使用します。
[ union ]を使用します。
| select * from T_ひらがな union select * from T_カタカナ 『同文』 select * from T_ひらがな union all select * from T_カタカナ |
| select文を単にunionで繋ぐだけです。 |