著書「SQLiteデータ料理術」章節に連動したSQL文データ


第3章 取り出し術 

3-1.取り出し術の基本

③テーブル上の項目・順番,レコード範囲・順番指定なしで取り出す
対象DB「test.db」

④テーブル上の項目・順番を指定し,レコード範囲・順番指定なしで取り出す
対象DB「test.db」

⑤テーブル上の項目・順番を指定し,レコード範囲のみ指定して取り出す
対象DB「test.db」

⑥テーブル上の項目・順番を指定し,レコード範囲・順番を指定し取り出す
対象DB「test.db」

3-2.SQL実行エラーの対処方法

①句の区切りがない場合
対象DB「test.db」

②句の区切りに全角スペースがある場合
対象DB「test.db」

③SELECT等の句の綴りが違う場合
対象DB「test.db」

④句の記述順序が違う場合
対象DB「test.db」

⑤テーブル名がデータベース上にない場合
対象DB「test.db」

⑥フィールド名がテーブル上にない場合
対象DB「test.db」

⑦複数の項目名(フィールド名)の間に「,」がない場合
対象DB「test.db」

⑧複数の項目名(フィールド名)を列挙する際に不要な「,」がある場合
対象DB「test.db」

⑨文字列を「'」で囲っていない場合
対象DB「test.db」

⑩囲うべき「'~'」が囲い終わっていない場合
対象DB「test.db」

第4章 書き込み術 

4-1.書き込み術の基本

②単純にレコード(行)を追加する
対象DB「test.db」

③単純にレコード(行)を変更する
対象DB「test.db」

④単純にレコード(行)を削除する
対象DB「test.db」

⑤該当レコード(行)が無いときに限り,レコードを追加する
対象DB「test.db」

⑥該当レコード(行)が無ければレコードを追加,有ればレコードを変更する
対象DB「test.db」

⑦該当レコード(行)が有れば削除して,レコードを追加する
対象DB「test.db」

4-2.SQL実行エラーの対処方法

①囲うべき部分を「(~)」で囲っていない場合
対象DB「test.db」

②囲うべき「(~)」が囲い終わっていない場合
対象DB「test.db」

③INSERT文で宣言されたフィールドとセットする値の数が一致しない場合
対象DB「test.db」

④INSERT文の重複エラーが出る場合
対象DB「test.db」

⑤INSERT…ON CONFLICT文でエラーが出る場合
対象DB「test.db」

⑥SQL 1文の終わり記号「;」(セミコロン)がない場合
対象DB「test.db」

4-3.エラーは出ないがSQL実行結果が想定と異なる場合の対処方法

①INSERT文で全てのフィールドに値をセットしていない場合
対象DB「test.db」

②INSERT OR IGNORE文等で該当レコード(行)を無視して追加してしまう場合
対象DB「test.db」

③INSERT OR REPLACE INTO文で以前のレコードが残ってしまう場合
対象DB「test.db」

第5章 集計・結合術 

5-1.集計術の基本

②合計してみよう
対象DB「test.db」

③小計を求めてみよう
対象DB「test.db」

④小計結果により小計範囲を限定してみよう
対象DB「test.db」

5-2.結合術の基本

②データベースを結合してみよう
対象DB「test.db」

③テーブル間で特定項目の値が一致した時のみ,列で結合してレコードを作ろう
一旦閉じてから対象DB「test.db」

④テーブル間で特定項目の値が一致しなくても,列で結合してレコードを作ろう
一旦閉じてから対象DB「test.db」

⑤同一(同種)テーブル上の内容が違うレコードに限定して,行(レコード)で結合
一旦閉じてから対象DB「test.db」

⑥同一(同種)テーブル上のレコードを単純に行(レコード)で結合して表を作る
一旦閉じてから対象DB「test.db」

5-3.SQL実行エラーの対処方法

①GROUP BY句やHAVING句の順番が違う場合
対象DB「test.db」

②集約関数をWHERE句やGROUP BY句で使おうとする場合
対象DB「test.db」

対象DB「test.db」

③ATTACH DATABASE文でエラーが出る場合
対象DB「test.db」

④フィールド名が特定できない場合
対象DB「test2.db」

⑤フィールドの数が異なるテーブルでUNION句を使う場合
対象DB「test.db」

5-4.エラーは出ないがSQL実行結果が想定と異なる場合の対処方法

①複数のデータベース・ファイルを使用する際に同一テーブル名がある場合
対象DB「test.db」

②JOIN句で不要なレコードが作られる場合
一旦閉じてから対象DB「test.db」

③UNION句で必要なレコードが作られない場合
対象DB「test2.db」

第6章 分岐・編集術 

6-1.分岐術の基本

②取り出し時に「セットする値を変える」分岐方法1
対象DB「test.db」

③取り出し時に「セットする値を変える」分岐方法2
対象DB「test.db」

④書き込み時に「セットする値を変える」分岐方法1
対象DB「test.db」

⑤書き込み時に「セットする値を変える」分岐方法2
対象DB「test.db」

6-2.編集術の基本

②「文字⇔文字」編集の基本
対象DB「test.db」

③「数値⇔数値」編集の基本
対象DB「test.db」

④「日付⇔日付」編集の基本
対象DB「test.db」

⑤「文字⇔数値」編集の基本
対象DB「test.db」

⑥「日付⇔文字」編集の基本
対象DB「test.db」

⑦「数値⇔日付」編集の基本
対象DB「test.db」

6-3.SQL実行エラーの対処方法

①CASE句をENDで閉じるのを忘れた場合
対象DB「test.db」

②date関数・datetime関数・time関数でエラーが出る場合
対象DB「test.db」

6-4.エラーは出ないがSQL実行結果が想定と異なる場合の対処方法

①CASE句でELSEを入れなかった場合
対象DB「test.db」

②整数→実数が想定と異なる場合
対象DB「test.db」

③日付計算・日時計算が想定と異なる場合
対象DB「test.db」

料理術FAQ100選 

[取り出し術の応用編] Q21~Q30 

Q21.SELECTした項目にAS句で付けた別名の使える句を知りたい
対象DB「test.db」

Q22.WHERE句等で値1≦項目名≦値2の条件式を記述したい
対象DB「test.db」

Q23.WHERE句等で条件が複雑になったときの対処方法を知りたい
対象DB「test.db」

Q24.項目名='値1' or …'値n'とor条件が多数あり,何とかしたい
対象DB「test.db」

Q25.「項目名 in (リスト)」のリストが大量にあり,何とかしたい
対象DB「test.db」

Q26.WHERE句等に「~ではない」条件が複数あり,何とかしたい
対象DB「test.db」

Q27.データ内のNULLと空の状態を判定する条件式を作りたい
対象DB「test.db」

Q28.LIKEでは判断できない文字列をパターンで判断したい
対象DB「test.db」

Q29.1番目~3番目,4番目~9番目のレコードを取り出したい
対象DB「test.db」

Q30.複数のテーブルのレコードを掛け合わせたレコードを作りたい
対象DB「test.db」

[書き込み術の応用編] Q31~Q40 

Q32.SQL上でテーブルを作成したい
対象DB「new.db」

Q33.テーブル作成の際におススメのオプション指定を教えて欲しい
対象DB「new.db」

Q34.SQL上でテーブルやフィールド名の変更などをしたい
対象DB「new.db」

Q35.他のテーブルをコピーして,テーブルを作成したい
対象DB「test.db」

Q36.他テーブルのフィールド名だけコピーしてテーブルを作りたい
対象DB「test.db」

Q37.既存のテーブルに他のテーブルのレコードを一括で追加したい
対象DB「test.db」

Q38.フィールドの値を他のテーブルを参照して一括で更新したい
対象DB「test.db」

Q39.大量の書き込み処理をするのに時間が掛るので高速化したい
対象DB「test.db」

A40.DELETE文やUPDATE文を使わない工夫で高速化できます。
対象DB「test.db」

対象DB「test.db」

[集計術の応用編] Q41~Q50 

Q41.売上日計表を作りたい
対象DB「hanbai.db」

Q42.売上週計表を作りたい
対象DB「hanbai.db」

Q43.売上月計表を作りたい
対象DB「hanbai.db」

Q44.前12か月売上累計表を作りたい
対象DB「hanbai.db」

Q45.得意先別商品別集計表を作りたい
対象DB「hanbai.db」

Q46.異なる単価ごとに適用された回数と最終売上日を知りたい
対象DB「hanbai.db」

Q47.得意先別に最終購買日と今日までの経過日数を知りたい
対象DB「hanbai.db」

Q48.得意先別に平均お買い上げ間隔を知りたい
対象DB「hanbai.db」

Q49.得意先別に平均お買い上げ点数・金額を知りたい
対象DB「hanbai.db」

Q50.RFM分析をしたい
対象DB「hanbai.db」

[結合術の応用編] Q51~Q60 

Q51.JOINを使わないで複数のテーブルを結合する方法を知りたい
対象DB「test2.db」

対象DB「test2.db」

対象DB「test2.db」

Q52.前のレコードの在庫残を反映する在庫帳を作りたい
対象DB「hanbai.db」

Q53.10年分のカレンダー用の日付一覧を作りたい
対象DB「hanbai.db」

Q54.休日データを使って,営業カレンダー用の日付一覧を作りたい
対象DB「hanbai.db」

Q55.営業カレンダー用の日付一覧を使って,営業日の計算をしたい
対象DB「hanbai.db」(日付は今年以降10年以内に変更)

Q56.伝票見出し・明細行・合計の3形式が縦に並ぶデータを作りたい
対象DB「hanbai.db」

Q57.売上日計・売上月計など2種類の集計結果をまとめて表示したい
対象DB「hanbai.db」

Q58.伝票計・売上日計・売上月計など3種類の集計結果をまとめたい
対象DB「hanbai.db」

Q59.複数のJOINを使ったSQLを高速化したい
対象DB「hanbai.db」

対象DB「hanbai.db」

Q60.複数のJOINを使ったSQLをさらに高速化したい
対象DB「hanbai.db」

対象DB「hanbai.db」

[分岐術の応用編] Q61~Q64 

Q61.得意先別売上金額を月別集計して列に並べて合計も表示したい
対象DB「hanbai.db」

Q62.SELECT文でCASE句を使える句を知りたい
対象DB「hanbai.db」

Q63.INSERT・CREATE TABLE文でCASE句を使える句を知りたい
対象DB「hanbai.db」

対象DB「hanbai.db」

Q64.UPDATE・DELETE文でCASE句を使える句を知りたい
対象DB「hanbai.db」

対象DB「hanbai.db」

[編集術の応用編] Q65~Q80 

Q65.得意先別に売上金額の多い順に順位をつけたい
対象DB「hanbai.db」

対象DB「hanbai.db」

Q66.Q65で付けた順位で売上を累計してABC分析をしたい
対象DB「hanbai.db」(Q65①を再度実行してから利用)

Q67.Q66のABC分析結果のうち,群別に1行で得意先名を並べたい
対象DB「hanbai.db」

対象DB「hanbai.db」

Q68.Q67で並べた得意先名ごとに分けて列(フィールド)を作りたい
対象DB「hanbai.db」

Q69.Q67で並べた得意先名ごとに分けて行(レコード)を作りたい
対象DB「hanbai.db」

Q70.1つのフィールドにあるカンマ区切りのデータを行に展開したい
対象DB「hanbai.db」

Q71.行(レコード)データを列(フィールド)データに変換したい
対象DB「hanbai.db」

対象DB「hanbai.db」

Q72.自社の営業日に基づいて納期から各工程の着手日を計算したい
対象DB「hanbai.db」(日付は今年以降10年以内に変更)

Q73.文字列を反転させたい
対象DB「test.db」

Q74.数値・英字・漢字のテストデータを作りたい
対象DB「test.db」

Q75.フィールド名を取り出して項目の値として使いたい
対象DB「test.db」

対象DB「test.db」

対象DB「test.db」

対象DB「test.db」

Q76.他に知っておくと便利な関数を知りたい
対象DB「test.db」

Q77.Excelで勝手に日付編集された日付(2022/1/1)等を元に戻したい
対象DB「test.db」

Q78.Excelで勝手に変換されないよう先頭に付けた「'」等を消したい
対象DB「test.db」

Q79.Excelで自由に入力された全角/半角・大文字/小文字を統一したい
対象DB「hanbai.db」

Q80.Excelで誤入力した文字を桁数や位置で判別しミスを発見したい
対象DB「test.db」