ホームページ  >  記事  >  データベース  >  以下に、質問形式のテキストに基づいた記事のタイトルをいくつか示します。 * MySQL でユーザー変数としてクエリ結果にアクセスするにはどうすればよいですか? * MySQL のクエリ結果に基づいてユーザー変数を割り当てることはできますか? * 何

以下に、質問形式のテキストに基づいた記事のタイトルをいくつか示します。 * MySQL でユーザー変数としてクエリ結果にアクセスするにはどうすればよいですか? * MySQL のクエリ結果に基づいてユーザー変数を割り当てることはできますか? * 何

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-27 10:46:30146ブラウズ

Here are a few article titles based on your text in a question format:

* How to Access Query Results as User Variables in MySQL?
* Can I Assign User Variables Based on Query Results in MySQL?
* What are the Different Methods for Setting User Variables Ba

MySQL でユーザー変数としてクエリ結果にアクセス

MySQL ではクエリ結果に基づいたユーザー変数の設定が可能であり、ネストされたクエリの必要性が軽減されます。 .

アプローチ:

これを実現するには、クエリ自体に変数割り当てを組み込みます:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

例:

列「user」と「group」を持つ「user」という名前のテーブルを考えます:

<code class="mysql">CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);</code>

Query:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

出力:

<code class="mysql">+--------+-------+
| user   | group |
+--------+-------+
| 123456 |     5 |
| 111111 |     5 |
+--------+-------+
2 rows in set (0.00 sec)</code>

代替アプローチ:

代替方法は、サブクエリ内で「LIMIT 1」を使用することです:

<code class="mysql">SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group; 
SELECT * FROM user WHERE `group` = @group;</code>

SET ステートメントでは代入演算子として := を使用することを忘れないでください。非 SET ステートメントでは代入に := が必要ですが、= は比較演算子として扱われます。

以上が以下に、質問形式のテキストに基づいた記事のタイトルをいくつか示します。 * MySQL でユーザー変数としてクエリ結果にアクセスするにはどうすればよいですか? * MySQL のクエリ結果に基づいてユーザー変数を割り当てることはできますか? * 何の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。