データベース

データベース

SQLで合計や平均を計算する方法

データベース内のデータに対して合計や平均を計算する基本的な方法を、Oracle, MySQL, および PostgreSQL の3つのデータベースでどのように記述すべきかまとめてみたいと思います。 SQLで実現する基本的な計算方法 以下のS...
MySQL

SQLで漢字のカラムのみに絞り込む方法

SQLで特定の文字種類のみを絞り込む際は、正規表現や特定の文字範囲を利用します。 そこで、いくつかのデータベースでのSQLの書き方を整理してみたいと思います。 mysqlで漢字のカラムのみに絞り込むSQL SELECT * FROM テーブ...
データベース

データベースのテーブル一覧を取得するSQL

テーブル名の一覧を取得したい 仕様書と実態が乖離しているときや、なぜか用意していたSQL文がエラーになるとき、ありますよね。 そんなときは、現在接続中のデータベースのテーブル名の一覧を知りたいものです。 そこで接続したデータベースの、テーブ...
MySQL

SQLでif条件を書く方法

SQLを使う際、特定の条件に基づいて値を選択、表示、計算することは非常に一般的です。 ここでは、主要なデータベースであるOracle、MySQL、およびPostgreSQLでのIF条件の使い方を取り上げます。 Oracleのif文 Orac...
MySQL

SQLで1件のみを取得する指定方法

SQLで1件だけデータを取得したい データベースのデータを1件だけ見たいときってありますよね?どんな感じのデータが入っているのか確認したいときとか、where句がエラーになってカラム名を確認したいときとか。そんなときに、大量にデータが入って...
データベース

INNER JOIN、LEFT JOIN、RIGHT JOINの違いと使用例

SQLのJOIN操作は、複数のテーブル間で関連性を持つデータを結合して取得するための重要な機能です。 ここでは、主に使われるJOINの種類であるINNER JOIN、LEFT JOIN、RIGHT JOINについて、その違いと使用例を考えて...
MySQL

SQLでSELECTするときにNULLを0に置換する方法

データベースのNULLのカラムの扱い SELECT文でDBからデータを取得する際に、本来なら数字が含まれているべきカラムなのに、NULLが設定されている、そんなことがありました。 自分が設計してないテーブルだったので、なんでこうなっているん...
MySQL

改行コードを含むテキストを検索するSQL

改行コードを含むカラムを検索したい SQLでテキストを検索した際に、データの挿入方法の都合で改行コードが含まれてしまって、WHERE条件でうまくヒットしない、ということがありました。 そこで、SQLでselectする際に、意図的に改行コード...
MySQL

SQLで文字列の長い順に出力する方法

SQLで文字列の長い順にソートしたい DBからデータを取得する段階で、文字列の長い順に取得したいことがありました。 ORDER BYでLENGTH順に返却してくれれば、後続の処理が楽になるケースもあるかと思います。 そこで、SQLで文字列の...
データベース

SQLで文字列のカラムにある数字をソートする方法

文字列型にある数字をソートしたい DBのカラムが文字列の型だけど、中身のデータが数字が入っている、ということがありました。 このとき、数字の昇順で取得をしたくてorder byで指定をしたのですが、いい感じで並んでくれませんでした。 1→2...