SQL

SQL

【SQL】複数行の値を1行にまとめる方法(LISTAGG / string_agg / GROUP_CONCAT)

はじめに 日頃から Amazon Redshift を使っていて、複数行の値を1行にまとめたいときに LISTAGG を使っていました。ただ、他のデータベース(MySQLやPostgreSQLなど)で同じことをしようとすると、書き方が微妙に...
SQL

【SQL】INNER/LEFT/RIGHT/FULL/CROSS JOINの違いと具体例

はじめに SQLの INNER JOIN、LEFT JOIN、RIGHT JOIN……「何がどう違うの?」と聞かれるとちょっと不安。この記事では、自分の頭の中を整理するために、JOINの基本的な種類と違いを簡単な例と一緒にまとめてみました。...
Ruby on Rails

EXPLAINで意図したインデックスが使われなかったときにRailsで USE INDEX を指定する方法

はじめに MySQLでクエリのパフォーマンスを調査する際にまず行うのが EXPLAIN による実行計画の確認です。しかし、インデックスを張っているにもかかわらず、意図したインデックスが使われていないというケースがあります。この記事では、そう...