民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS SQLiteの面白さ(19) JOIN機能にくせが

<<   作成日時 : 2008/06/30 00:07   >>

かわいい ブログ気持玉 1 / トラックバック 0 / コメント 0

SQliteを使っていて、他のRDBMSと微妙に違いを感じるのがJOIN機能だ。今日、2点ほどくせが見つかった。
まずは、RIGHT JOIN について。
本家サイトの記事 http://www.sqlite.org/lang_select.html によると、RIGHTJOIN が使えそうな気がするのだが、実際に
SELECT t1.* FROM t1 RIGHT JOIN t2 ON t1.col1 = t2.col1;
とやると、
RIGHT and FULL OUTER JOINs are not currently supported
というメッセージが表示されてしまう。
INNER と LEFT だけでがんばってやりくりするしかないらしい。2chのSQLiteスレッドで、OUTER JOIN がないのは不便だという書き込みが見つかったが、今のところ自分は OUTER JOIN が必要な案件にぶつかっていない。ぶつかった時に考えることにする。

また、3つ以上のテーブルを JOIN させるための文法にもくせが見つかった。
SELECT t1*, t2.col2, t3.col2 FROM (t1 INNER JOIN t2 ON t1.col1 = t2.col1) INNER JOIN t3 ON t1.col1 = t3.col1;
とやると、SQL Syntax Error が返ってくる。
これは、テーブルの結合順に注意しながら
SELECT t1*, t2.col2, t3.col2 FROM t1 INNER JOIN t2 ON t1.col1 = t2.col1 INNER JOIN t3 ON t1.col1 = t3.col1;
と、パーレンなしで表記すればうまく動作する。
理屈はよく分からないのだが、MySQLその他を使い慣れていると妙な感じだ。とりあえずSQLiteのくせということで深くは気にしないことにする。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
かわいい

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
SQLiteの面白さ(19) JOIN機能にくせが  民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる