カテゴリー「SQL」に関連するページ一覧 2ページ目
- Oracle 前後の空白スペース(全角・半角両方)を削除する
Oracleで前後の空白スペース(全角・半角両方)を削除する方法を紹介します。Oracleのスペースを削除するTRIM関数は、全角スペースは削除されません。RTRIM関数は右側のみ、LTRIM関数は左...
- SQL UPDATE文で副問い合わせで取得した値を複数列に設定する方法
UPDATE文で、副問い合わせで取得した値を複数列に設定する方法を紹介します。SETで指定する列を()で囲い、副問い合わせのSQLで()で囲った列に対応するようにSELECTで取得します。SELECT...
- SQL 別テーブルをSELECTした結果が存在すればその値を使用してUPDATEする方法
SELECTした結果がすでに存在していればその値でUPDATEしたい場合があります。上記SQLだと、テーブルBの存在の有無にかかわらず、テーブルAの全てのデータが更新されてしまいます。テーブルBが取得...
- SQL 重複しているレコードを一括でUPDATEする
ある列の値が同じレコードが複数ある場合に、そのレコードを全てUPDATEする方法を紹介します。重複しているレコードを1行に集約する方法などはよく見かけますが、重複するレコードを一括でUPDATEします...
- SQL MERGE文でSELECTした結果を使ってINSERTまたはUPDATEをする
SELECTした結果をINSERTまたはUPDATEしたいテーブルと結合して、データが存在していればUPDATE、なければINSERTしたい場合はMERGEを使用します。SELECTした結果をそのまま...
- SQL PARTITION BYの基本と効率的に集計する便利な方法
PARTITION BYを使った分析関数を使いこなせれば複雑な集計でもシンプルなSQLで実装できます。employeeテーブルの各レコードのデータと、レコードを集計したデータは集計単位が違うので、普通...
- SQL ある列の値が最大もしくは最小の値のレコードを取得する
例えば以下のテーブルがあるとき、身長が一番大きい社員のレコードを取得したい場合があります。業務でもよくありがちな仕様ですが、一見簡単そうで難しい問題です。一番簡単な方法としては、単純にORDER BY...
- ページ制御時の1ページあたりのレコードを取得するSQL文の雛形
ページ制御を使用している画面で、現在ページに表示するデータをSQLで取得する方法を紹介します。「現在ページ」と「1ページあたりの表示件数は」予め定義されていることを前提とします。実際のデータを取得する...
- SQL ページ制御のパフォーマンスについて考える
ページ制御のあるテーブルを表示する画面でレスポンスが悪いと感じたとき、以下のポイントを確認します。例えばコードに紐づく名称を取得するために別のテーブルを外部結合する場合、取得する名称が表示順や件数に影...
- SQL rowspanを使用してテーブル表示するときに必要な情報を分析関数で取得する
SQLではなくプログラム側で表示するときに複雑な処理を実装してしまいがちですが、SQLでrowspanに必要な情報を一緒に取得しておけばプログラム側での実装はかなりシンプルになります。部署を表示するの...