SQLの練習問題です。
筆者の環境は以下となっていますが、別のデータベースやツールでもほとんど同じように動作すると思います。
- MariaDB 5.5.48
- MySQL Workbench 6.3
よくわからないという方は、XAMPをインストールすると簡単に筆者と同じ環境を構築できます。以下のサイトで紹介されています。
WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)
問題として使用するデータは以下からダウンロード可能です。phpMyAdminからデータベース(worldcup2014)を作成しインポートしておいてください。
worldcup2014.zip
問題:
全ての選手のポジションの1文字目(GKであればG、FWであればF)を出力してください。
正解:
SELECT id, country_id, uniform_num, SUBSTRING(position, 1, 1), name FROM players
このような1行のデータをそのまま1行で出力する関数を「単一行関数」といいます。(他にもグループ関数というものもあります)
その単一行関数の中でも今回は文字列を操作する関数になります。
「SUBSTRING」もしくは「SUBSTR」を関数を使用することで文字列のXX文字目からXX文字を切り抜くことができます。
問題では1文字目を1文字切り抜けばよいことになりますので、「SUBSTRING(position, 1, 1)」となります。
そのほかの使用方法に関しては公式のマニュアルがありますので、こちらを参照してください。
https://dev.mysql.com/doc/refman/5.6/ja/string-functions.html#function_substr