アクセス講座

トップ > テーブル操作


■テーブル表示

まずテーブルを作成しデータを入れます。

テーブル名:T_ひらがな
フィールド型:ID → テキスト型 、文字数→数値型、データ → テキスト型

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 → テキスト型 、文字数→数値型、データ → テキスト型

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"が入ります。

■テーブル結合2

テーブル定義が同じもの同士を結合し、行を増やしたい場合に使用します。
[ union ]を使用します。

select * from T_ひらがな
union select * from T_カタカナ

『同文』
select * from T_ひらがな
union all select * from T_カタカナ
select文を単にunionで繋ぐだけです。