SQLで複数のSELECTで問い合わせた結果を連結したいという場合は集合演算子関数と言われる「UNION」や「UNION ALL」演算子を使用することで取得可能となります。 イメージ図 UNIONは重複行を削除して取得するので「A & …

SQLで複数のSELECTで問い合わせた結果を連結したいという場合は集合演算子関数と言われる「UNION」や「UNION ALL」演算子を使用することで取得可能となります。 イメージ図 UNIONは重複行を削除して取得するので「A & …
SQLでシステム日付を取得するにはMySQLやPostgreSQlとOracleでは少し異なるのでメモしておきます。 システム日付を取得するSQL:MySQL、PostgreSQL date型で取得、time型で取得、timestamp型で …
OracleでのTRUC関数と類似したものにPostgreSQLではDATE_TRUNC関数があります。 DATE_TRUNC関数は「DATE_TRUNC([‘精度’],[列名])」形式で指定する事で取得できます。 …
SQLで最大値と最小値を求めるにはMAX関数とMIN関数を使用します。 使用例 サンプルテーブル「goods」 クエリー(SQL) サンプルテーブル「goods」のtype_codeの最大値と最小値を抽出しているサンプルとなります。 [cr …
IN句をEXISTS句へ変換するとパフォーマンスが向上すると言われることがあるので IN句からEXISTS句への変換例をメモしておきます。 サンプルテーブル 以下の商品テーブル「goods」と属性コードテーブル「type_code」を元に説 …
SQLで指定した件数のみ取得する場合、MySQLやPostgreSQLではLIMIT句を使用します。 OracleではLIMIT句は使用できないのでROWNUMを使用します。 使用例 サンプルテーブル「goods」 クエリー(SQL) クエ …
SQLでGROUP BYとCOUNTを使用して重複行をカウントする方法です。 使用例 サンプルテーブル「goods」 クエリー(SQL) GROUP BYでカウントしたい列を指定し、COUNTでGROUP BYに指定した列を指定することで重 …
SQLでSELECT結果の重複行を削除するためにはDISTINCTを使用します。 使用例 サンプルテーブル「goods」 クエリー(SQL) SELECTの直後にDISTINCTを指定することで重複行を除外することが出来ます。 [crayo …
SQLで全角文字と半角文字を判定するにはLENGTHBやOCTET_LENGTH関数で取得したバイト数とLENGTH関数で取得した文字数を比較することで判断することができます。 使用例 サンプルテーブル「goods」 クエリー(SQL) O …
SQLでバイト数を取得する場合は、LENGTHBやOCTET_LENGTH関数を使用することで取得出来ます。 DBMS毎に使用できる関数が異なり、ORACLEではLENGTHB、MYSQLやPostgreSQLではOCTET_LENGTH、 …