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



