ホームページ > データベース > mysql チュートリアル > ネストされたクエリを使用せずに、MySQL のクエリ結果からユーザー変数を割り当てるにはどうすればよいですか?

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

Susan Sarandon
リリース: 2024-10-27 06:27:03
オリジナル
1089 人が閲覧しました

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;
ログイン後にコピー

以上がネストされたクエリを使用せずに、MySQL のクエリ結果からユーザー変数を割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート