【複数テーブルの結合】
・複数のテーブルを結合して表示するには、テーブル同士の結合条件をWHERE部分に書きます。また同じ名前のフィールドがある場合は、「テーブル名.フィールド名」のかたちで指示する必要がありました。
SELECT TOWN_CD,T03Town.CITY_CD,ZIP_CODE,CITY_NAME,TOWN_NAME
FROM T03Town,T02City
WHERE T03Town.CITY_CD = T02City.CITY_CD;
・テーブル数が増えたら、WHERE部分でANDを使って結合条件を増やします。
SELECT TOWN_CD,T03Town.CITY_CD,ZIP_CODE,PREF_NAME,CITY_NAME,TOWN_NAME
FROM T03Town,T02City,T01Prefecture
WHERE T03Town.CITY_CD = T02City.CITY_CD
AND T01Prefecture.PREF_CD = T02City.PREF_CD ;
【演算フィールド】
・演算フィールドを使うと、フィールドをつなげたり、計算結果を表示したりできます。また演算フィールドはAS(エイリアス)を使ってフィールド名が付けられます。
SELECT TOWN_CD,T03Town.CITY_CD,ZIP_CODE,
PREF_NAME & CITY_NAME & TOWN_NAME AS ADDRESS
FROM T03Town,T02City,T01Prefecture
WHERE T03Town.CITY_CD = T02City.CITY_CD
AND T01Prefecture.PREF_CD = T02City.PREF_CD;
【エイリアス】
AS(エイリアス)はテーブル名にも使えます。FROM部分でエイリアスを使ってテーブルに別名を付けると、「テーブル名.フィールド名」のかたちが短くなります。
SELECT TOWN_CD,T.CITY_CD,ZIP_CODE,
PREF_NAME & CITY_NAME & TOWN_NAME AS ADDRESS
FROM T03Town AS T,T02City AS C,T01Prefecture AS P
WHERE T.CITY_CD = C.CITY_CD
AND P.PREF_CD = C.PREF_CD;
【市町村の追加・更新・削除】
PREF_CDはT01Prefectureに存在する番号を使います。
INSERT INTO T02City(CITY_CD,PREF_CD,CITY_NAME) VALUES(99999,47,'テスト');
UPDATE T02City SET PREF_CD=1, CITY_NAME ='テスト2' WHERE CITY_CD = 99999;
DELETE FROM T02City WHERE CITY_CD = 99999;
【地域の追加・更新・削除】
CITY_CDはT02Cityに存在する番号を使います。
INSERT INTO T03Town(TOWN_CD,CITY_CD,ZIP_CODE,TOWN_NAME) VALUES(999999,47382,9999999,'テスト');
UPDATE T03Town SET CITY_CD=1101, ZIP_CODE=8888888, TOWN_NAME ='テスト2' WHERE TOWN_CD = 999999;
DELETE FROM T03Town WHERE TOWN_CD = 999999;