SQLもプログラミング言語…っぽい2
最近実地で学んだことを書き留めておく
データのINSERT
単純にデータをINSERTする場合
INSERT INTO HOGE_TABLE(A, B, C) VALUES ('FOO', 'BAR', 'BAZ');
他のテーブルからSELECTした内容をINSERTする場合
INSERT INTO HOGE_TABLE (FOO, BAR, BAZ) SELECT A AS FOO, B AS BAR, C AS BAZ -- ←順番さえ守れば名前はなんでも良い FROM HUGA_TABLE;
表の結合
よくある表の結合方法としてINNER JOIN, LEFT JOIN, RIGHT JOINが挙げられるが、実際それはキッチリと結合したいときに使うものであり、以下のように楽することもできる。
-- 表 HOGEと表HUGAは同じ主キーのKEYを持つものとする SELECT * FROM HOGE, HUGA WHERE HOGE.KEY = HUGA.KEY
以前書いたとおり、FROM句のあとにSELECT文で表を作れるのでそれらと連携するとネストした表を結合しまくって目当てのブツを手に入れられる
(…だんだん「ハック」な感じになってきましたね)。
括弧で囲んだ表には別名をつけると良い
SELECT * FROM ( SELECT * FROM HOGE ) THIS_TABLE, -- HOGEテーブルで捕まえた内容をTHIS_TABLEとする ( SELECT * FROM HUGA ) THAT_TABLE WHERE THIS_TABLE.KEY = THAT_TABLE.KEY -- 結合とかしちゃう
この本が実用的で面白かったです。
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2008/02/07
- メディア: 単行本(ソフトカバー)
- 購入: 54人 クリック: 1,004回
- この商品を含むブログ (78件) を見る
書籍の内容としては「1−5 外部結合の使い方」、に近いかなあと思います。