ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

USINGの使い方

他人が書いたSQLで「USING」という句が使われていました。
普段USINGなんて全然使わないので、どういうふうに使うのか調べてみました。

SELECT 構文のJOIN を使ってテーブルを結合する!
http://www.rfs.jp/sb/sql/04/03_4.html#USING

USING を使って、両方のテーブルに存在している必要があるフィールドを指定することができます。次の構文は意味的には同じです。

# USING を使った構文
A LEFT JOIN B USING (F1, F2, F3, ...)

# ON 条件式を使った構文
ON t1.F1 = t2.F1 AND t1.F2 = t2.F2 AND t1.F3 = t2.F3,...


次の SQL は、購入履歴テーブルと顧客テーブルを id_c フィールドで結合し、なおかつ顧客テーブルにあるレコードをすべて表示します。

SELECT id_p, sei, mei FROM customer LEFT JOIN purchase
USING (id_c);
+------+------+----------+
| id_p | sei | mei |
+------+------+----------+
| 2 | 桜庭 | かずし |
| 4 | 藤田 | かずよし |
| 1 | 高田 | のぶひこ |
| 3 | 佐藤 | えりこ |
| NULL | 小池 | えいこ |
+------+------+----------+



いつもはON 条件式を使った構文でSQL文を書いていましたが、同じことをUSINGを使って簡潔に書けることが分かりました。

USINGのポイントは、結合するテーブルに同じ名前のカラムがあれば、テーブル名の指定を省略できるということですね!

書き込み式SQLのドリル―ドンドン身に付く、スラスラ書ける 書き込み式SQLのドリル―ドンドン身に付く、スラスラ書ける
山田 祥寛 (2006/03)
ソシム
この商品の詳細を見る


関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/308-ef1d293d

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。