【SQL】UPDATEでテーブル名に別名(エイリアス)をつける
このページでは、ORACLEデータベースのSQLで、UPDATE文でAS句を使ってテーブルに別名(エイリアス)をつけて更新をする方法を紹介しています。
UPDATE文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】UPDATE文の書き方:サンプル多数あり
UPDATEでテーブル名に別名(エイリアス)をつける
UPDATE文で表名に別名(エイリアス)をつけるには、ASを使います。
基本的な書き方は次の通りです。
UPDATE テーブル名[ AS 別名] SET カラム名=値[,列名=値][ WHERE 条件];
ASは省略することもできます。
UPDATE文でテーブル名に別名をつけたSQLサンプル
ここからは、実際にUPDATE文でテーブル名に別名をつけたサンプルを使って解説していきます。
次のSQLでは、TAB1テーブルにaという別名を付けています。列名を指定するときには、別名.列名という形で指定します。
update
tab1 as a
set
a.col3 = 'AAAAA'
where
a.col1 = '00001'
;
別名を使うとき、ASは省略することもできます。
次のSQLでは、ASを省略して、「tab1 a」とコーディングしています。結果は同じになります。
update
tab1 a
set
a.col3 = 'AAAAA'
where
a.col1 = '00001'
;
テーブルの別名は、複数のテーブルにつけることもできます。
次のSQLでは、TAB1テーブルをa、TAB2テーブルをbという別名を付けています。
UPDATE
tab1 a
inner join tab2 b on a.col1 = b.col1
SET
a.col2 = b.col2
,a.col3 = b.col3
where
a.col1 = '00001'
;
複数のテーブルを使うSQLでは、同じ列名のカラムがある場合、テーブル名.列名という風に表記する必要があります。別名を付けると、別名.列名と記述することができ、結果的にコーディング量や分かりやすさが向上することがあります。
まとめ
UPDATE文でテーブルに別名を付けるには、ASを使い、「テーブル名 AS 別名」と書きます。ASは省略することも出きます。これまでの経験からだと、ほとんどの場合、ASは省略されていました。
テーブルの別名は、複数のテーブルにつけることが出来ます。テーブルの別名については、別名の付け方をチーム、あるいはシステムの範囲で一定ルールを設けると、誰が見ても分かりやすいSQLとなります。
この他にも、UPDATE文の様々な書き方を解説しております。
詳しくは「【SQL】UPDATE文の書き方:サンプル多数あり」で解説しているのでぜひ参考にしてください。