ユーザー定義変数にSQLの結果を格納する方法

ユーザー定義変数を利用すると、使い回ししやすいクエリを作成することができます。例えば、複数箇所で同じ値を利用しているクエリがあれば、変数を利用して1箇所で値を調整することができます。主な使い方を確認します。

ユーザー定義変数

同一セッションでのみ利用できる変数です。そのため、他のクライアントが利用することはできません。

変数を作る方法

SET文を利用して定義するには以下のようにします。

SET @var_name = 'abcdef';

SQLの結果を変数に格納したい場合 := を利用します。

SELECT @max_post_id := `id` 
FROM posts 
ORDER BY id DESC
LIMIT 1;

変数を参照する方法

以下のように、作成した変数をそのまま参照できます。

mysql> SET @var_name = 'abcdef';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @var_name;
+-----------+
| @var_name |
+-----------+
| abcdef    |
+-----------+
1 row in set (0.00 sec)
mysql> SELECT @max_post_id := `id` 
    -> FROM posts 
    -> ORDER BY id DESC
    -> LIMIT 1;
+----------------------+
| @max_post_id := `id` |
+----------------------+
|                    5 |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT @max_post_id;
+--------------+
| @max_post_id |
+--------------+
|            5 |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT @max_post_id + 3;
+------------------+
| @max_post_id + 3 |
+------------------+
|                8 |
+------------------+
1 row in set (0.00 sec)

参考

https://dev.mysql.com/doc/refman/5.6/ja/user-variables.html

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。