条件に該当するデータが存在しない時だけ登録するSQL

条件に該当するデータが存在しない時だけ登録するSQL insert into [テーブル名] (フィールド名) select 登録する値 where NOT EXISTS (select 1 from [テーブル名] w …

Continue reading ‘条件に該当するデータが存在しない時だけ登録するSQL’ »

SQLのCOUNT(*)とCOUNT(列名)では結果が異なる

NULLを含むとき、COUNT(*)とCOUNT(列名)では結果が異なります。 Col1 10 (NULL) 50 (NULL) 40 このようなTBL1テーブルを例にします。 COUNT(*)はNULL …

Continue reading ‘SQLのCOUNT(*)とCOUNT(列名)では結果が異なる’ »

SQLiteで複数の行を1行のINSERT文でまとめて追加する

SQLite(バージョン 3.7.11以降)では、次のようにして複数のデータを1行のINSERT文でまとめてINSERT文で追加することができます。 insert into t1 (f1, f2, f3) values …

Continue reading ‘SQLiteで複数の行を1行のINSERT文でまとめて追加する’ »

FirebirdのINSERT文で追加されたIDを取得するには

Firebird 2.0以降では、INSERT文にRETURNING句を加えることで、追加されたIDを取得できます。 INSERT INTO t1 (id, …) VALUES (next value for gen …

Continue reading ‘FirebirdのINSERT文で追加されたIDを取得するには’ »