SQL取得結果に対する演算子の利用方法と応用

SQL

SELECT文で取得した結果に対して、演算子を使うことで文字列結合や計算が可能です。
これを使うことで、DBから抜き出してきたデータを他人に見せる時の加工が用意になります。
また、プログラムで実装していたロジックをSQL文に組み込むことが可能になりますし、副問い合わせで使用すれば「抽出→抽出結果をプログラムで加工→加工した結果を用いて再度抽出」としていたものを1つのSQL文にまとめることもできます。

【文法】

・文字列結合

演算子「||」を用いることで前後の文字列の結合が可能。
例えば、「商品名||’_特価品’」とすれば、商品名の取得結果の後ろに「_特価品」という文字列を追加し出力することができる。

・計算

算術演算子(+,-,*,/,%)を用いることで取得結果の計算が可能。
例えば、「売値 * 0.8」とすれば、売値の取得結果について0.8をかけた値を出力することができる。

【対象テーブル例】

・商品

+--------+--------+------+
| 商品ID | 商品名 | 価格 |
+--------+--------+------+
| 1      | 商品1 | 100  |
| 2      | 商品2 | 200  |
| 3      | 商品3 | 300  |
+--------+--------+------+

【取得例】

※ASは省略可能

SELECT   商品名||'_特価品' AS 特価商品名,
         売値 * 0.8 AS 特価価格
FROM     商品
ORDER BY 商品ID;

+----------------+----------+
| 特化商品名     | 特価価格 |
+----------------+----------+
| 商品1_特価品 | 80       |
| 商品2_特価品 | 160      |
| 商品3_特価品 | 240      |
+----------------+----------+

いかがでしたでしょうか。

SQLのSELECT文で取得した結果を加工できるのは意外だったかもしれませんが、特に日々の保守運用作業が容易になるメリットが大きいので、覚えておいて損は無い文法です。

なお、取得した結果を加工する代表的な方法としては、CASE文もあります。
こちらについては次回の記事で紹介したいと思います!

コメント

タイトルとURLをコピーしました