SQL

【Rails】N+1クエリ問題

N+1クエリ問題とは 最初に発行するクエリ1回+N回のクエリ発行により、 アプリケーションの処理速度が遅くなることがあります。 例えば、本の一覧を取得して、関連した著者名も一緒に表示させたい 場合があったとします。 booksテーブルからallメソッドで取…

【Rails】テーブル結合方法

テーブル結合とは 違うテーブルからそれぞれデータがほしいとき それらを結合して1つのテーブルからデータ取得することができます。 テーブル例 著者が1つ以上の書籍を出版している例を用いて以後説明していきます。 1. 内部結合(INNER JOIN) 基礎構文 モデ…

【MYSQL】CASE式の使い方

CASE式とは SQL内で条件分岐させるために使い、 SELECT, WHERE, GROUP BY, HAVING, ORDER BYなどで使うことができます。 また、どの条件にも満たない時、エラーとなってしまう可能性もありますので ELSEは基本的に記述するようにします。 単純CASEと検索CASE…