「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ネストされたクエリを使用せずに、MySQL のクエリ結果からユーザー変数を割り当てるにはどうすればよいですか?

ネストされたクエリを使用せずに、MySQL のクエリ結果からユーザー変数を割り当てるにはどうすればよいですか?

2024 年 11 月 6 日に公開
ブラウズ:265

How Can I Assign User Variables from Query Results in MySQL without Using Nested Queries?

MySQL のクエリ結果からのユーザー変数の割り当て

背景と目的

クエリ結果に基づいてユーザー定義変数を割り当てると、データベース操作機能が強化されます。この記事では、ネストされたクエリに頼らずに MySQL でこれを実現する方法について説明します。

ユーザー変数割り当ての構文

一般的な考えに反して、ユーザー変数の割り当てはクエリに直接統合できます。 SET ステートメントの代入演算子は、= または := のいずれかです。ただし、= は比較用に予約されているため、:= は他のステートメント内で使用する必要があります。

クエリの例

この手法を説明するために、USER と GROUP が一意であると仮定します。次のクエリ シーケンスは、機能を示しています。

SET @user := 123456;
SELECT @group := `group` FROM USER WHERE user = @user;
SELECT * FROM USER WHERE `group` = @group;

サンプル データと結果

次のデータを含むサンプル テーブルの使用:

CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);

クエリの結果は次のとおりです:

 -------- ------- 
| user   | group |
 -------- ------- 
| 123456 |     5 |
| 111111 |     5 |
 -------- ------- 

代替アプローチ

代わりに、次の構文を使用できます:

SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group;
SELECT * FROM user WHERE `group` = @group;
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3