diadia

興味があることをやってみる。自分のメモを残しておきます。

SQL

SQLITE3のINSERT文を動的に作成する。

sqlite3のインサート文は文字列である必要がある。 文字列であるがゆえにダイナミックなインサートは実行しづらいが、 辞書型のデータをもとにインサート文を作成する事ができる。また同一の辞書型データからインサートの値であるタプルを作成できる。 だか…

特定の月だけが入ったレコードだけを取り出すことはできるか?

例えば6月をtimestampやdateのフィールドからselectで抽出できるか? 今まで列の値をwhereを使って=かlikeを使って取得してきた。dateやtimestampでwhere句を使う方法を知らないので、まずそれを調べてみようと思う。 参考:https://stackoverflow.com/questi…

SQLエラー:must appear in the GROUP BY clause or be used in an aggregate function

SQL

エラーコード must appear in the GROUP BY clause or be used in an aggregate function 原因 GROUP BYを使って以上のようなエラーが出た場合には、以下の原因によるエラーの可能性がある。 それはGROUP BYを使っているにも関わらず、集約関数(SUMなど)を使…

SQL UNIONについて

SQL

UNION ALL とUNION UNION ALLを使うと集合で重複行をすべて返すのに対し、UNIONは重複行を1行にまとめる。 ORDER BYとの関係 UNIONを使った場合、ORDER BYはUNIONを使ったあと最後に実行する。これは集合の内容をORDER BYによって再編集するものであり、単…

SQL 操作する行の絞り込みで使うINとANYの差異

SQL

参考:https://docs.oracle.com/cd/E16662_01/doc/timesten.1121/b56051/ttsql268.htm INとANYの使い分け INは値が一致しているかどうかを真偽で判定するものである。 WHERE 値 IN (値1, 値2, 値3, 値4, 値5) ANYは値を比較演算子を用いて真偽を判定する。つ…

SQL 各種JOINについて

SQL

JOINの種類 JOINはテーブルの結合を行うもので、JOIN, INNER JOIN, OUTER LEFT JOIN, LEFT JOIN, RIGHT JOIN, OUTER RIGHT JOIN, FULL JOINなどの種類がある。 それでこれらを使い分ける必要があるわけだけれど、使い分けとしてJOIN, LEFT JOIN, RIGHT JOIN…

SQLの学習

SQL

参考書: スッキリわかるSQL入門第2版 SQL ゼロから始めるデータベース操作 SQLの命令分類 DML(Data MAnipulation Language) SELECT INSERT UPDATE DELETE EXPLAIN LOCK TABLE DDL(Data Definition Language) CREATE ALTER DROP TRUNCATE TCL(Transaction C…

postgresql操作メモ

postgresqlを使ってないと忘れてしまうので、見ながら使えるようにまとめておく。基本的な考え方は、psqlコマンドはデータベース接続のために使う。接続すると=>のプロンプトが表示されるのでメタコマンドやSQLを入力する。 処理概要 ユーザーをチェンジす…