SQL 入門学習: UNION キーワードの使用法の簡単な分析
開発プロセスでは、複数のクエリ結果を直接表示することがよくありますが、どのようにクエリを実行すればよいでしょうか?この記事は SQL の学習に関するものです。SQL の UNION キーワードとその使用方法を見てみましょう。皆さんのお役に立てれば幸いです。
#SQL の UNION キーワードは、複数のクエリ条件の結果を表示します。
UNION
UNION の中国語の意味は結合、つまり 2 つ以上の SELECT ステートメントの結果を結合することです。使用上のヒントは次のとおりです。
- UNION 内の各 SELECT ステートメントには、同じ数の列が必要です。
- 列には同様のデータ型が必要です。
- 各 SELECT ステートメント内の列の順序は同じである必要があります。
同じ列数
以下に示すように、前章で紹介したデータをデモ データとして使用します
テーブル s_user
とテーブル s_user_1
CREATE TABLE `s_user` ( `userid` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `pass_word` varchar(255) DEFAULT NULL, `salt` varchar(255) DEFAULT NULL, `state` varchar(255) DEFAULT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
をそれぞれ作成します。テスト データは次のとおりです。
INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小米', '小米', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小红', '小红', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小黄', '小黄', '123123', '123', '1', '2022-02-10 19:48:43');
UNION 内の各 SELECT ステートメントは同じ番号を持つ必要があります。 of columns: query first SQL
SELECT * FROM `s_user` UNION SELECT * FROM `s_user_1`
with the 同じカラムをすべてのカラムにクエリすると、以下のような実行結果になることがわかります。
最初のクエリがすべての列に対するもので、2 番目のクエリが 3 つのフィールドに対するものである場合、クエリの結果はどうなりますか? 次に、次の SQL を実行します:
エラー使用法
SELECT * FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
正しい使用方法
SELECT userid,name,pass_word FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
データ型
前述のように、複数のクエリの列の数は次のとおりです。同じである場合、クエリされる列の数は同じですが、クエリフィールドのデータ型が異なる場合、正常に処理できますか?次に、s_user クエリの pass_word を create_time に置き換えてクエリします。問い合わせたら見れますよ。 SQL クエリでは、列のデータ型は関係ありません。もちろん、実際の業務では異なるタイプに設定されることはありません。
SELECT userid,name,create_time FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
列の順序
UNION キーワードを使用してクエリを実行する場合、それは列の順序に関係しますか? 上で見たように、次のような可能性があります。列の順序に関係しますが、無関係かもしれないので、テストしてみましょう。実行結果は列の順序とは関係がないことがわかります。実際の業務では複数のクエリが結合されるため、プロジェクト内で定義するカラムの順序は一貫している必要があります。
SELECT create_time,userid,name FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
UNION と UNION ALL の違い
UNION と UNION ALL の違いをテストするには、[Xiaobi] をデータテーブル s_user_1 とそれをテーブル s_user [Xiaobi] と比較するのは両方ともデータベースに保存されています。この 2 つの結果の違いは何ですか?
INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (3, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43');
最初に実行:
SELECT user_name,name,pass_word,salt FROM `s_user` UNION SELECT user_name,name,pass_word,salt FROM `s_user_1`
実行結果:
#もう一度実行
SELECT user_name,name,pass_word,salt FROM `s_user` UNION ALL SELECT user_name,name,pass_word,salt FROM `s_user_1`
実行結果:
UNION関連付けでは重複項目が削除されるのに対し、UNION ALLでは重複データは削除されずにすべての値がクエリされることがわかります。
結論
以上が SQL での UNION キーワードの使用法です。読んでいただきありがとうございます。気に入っていただければ幸いです。役に立った場合は、いいね! や収集をお願いしますそれ。不備がある場合はコメントして修正してください。次回お会いしましょう。
推奨学習:
mysql ビデオ チュートリアル以上がSQL 入門学習: UNION キーワードの使用法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HQL と SQL は Hibernate フレームワークで比較されます。HQL (1. オブジェクト指向構文、2. データベースに依存しないクエリ、3. タイプ セーフティ)、SQL はデータベースを直接操作します (1. データベースに依存しない標準、2. 複雑な実行可能ファイル)。クエリとデータ操作)。

「OracleSQLでの除算演算の使用方法」 OracleSQLでは、除算演算は一般的な数学演算の1つです。データのクエリと処理中に、除算演算はフィールド間の比率を計算したり、特定の値間の論理関係を導出したりするのに役立ちます。この記事では、OracleSQL での除算演算の使用法を紹介し、具体的なコード例を示します。 1. OracleSQL における除算演算の 2 つの方法 OracleSQL では、除算演算を 2 つの異なる方法で実行できます。

Oracle と DB2 は一般的に使用される 2 つのリレーショナル データベース管理システムであり、それぞれに独自の SQL 構文と特性があります。この記事では、Oracle と DB2 の SQL 構文を比較し、相違点を示し、具体的なコード例を示します。データベース接続 Oracle では、次のステートメントを使用してデータベースに接続します: CONNECTusername/password@database DB2 では、データベースに接続するステートメントは次のとおりです: CONNECTTOdataba

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

Springboot+Mybatis-plus が SQL ステートメントを使用して複数テーブルの追加操作を実行しない場合、私が遭遇した問題は、テスト環境で思考をシミュレートすることによって分解されます: パラメーターを含む BrandDTO オブジェクトを作成し、パラメーターをバックグラウンドに渡すことをシミュレートします。 Mybatis-plus で複数テーブルの操作を実行するのは非常に難しいことを理解してください。Mybatis-plus-join などのツールを使用しない場合は、対応する Mapper.xml ファイルを設定し、臭くて長い ResultMap を設定するだけです。対応する SQL ステートメントを記述します。この方法は面倒に見えますが、柔軟性が高く、次のことが可能です。

MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか?データの集計と統計は、データ分析と統計を実行する際の非常に重要な手順です。 MySQL は強力なリレーショナル データベース管理システムとして、データの集約と統計操作を簡単に実行できる豊富な集約機能と統計機能を提供します。この記事では、SQL ステートメントを使用して MySQL でデータの集計と統計を実行する方法を紹介し、具体的なコード例を示します。 1. カウントには COUNT 関数を使用します。COUNT 関数は最も一般的に使用されます。

解決策: 1. ログインしているユーザーがデータベースにアクセスまたは操作するための十分な権限を持っているかどうかを確認し、ユーザーが正しい権限を持っているかどうかを確認します; 2. SQL Server サービスのアカウントに指定されたファイルまたはデータベースにアクセスする権限があるかどうかを確認します。 3. 指定されたデータベース ファイルが他のプロセスによって開かれているかロックされているかどうかを確認し、ファイルを閉じるか解放して、クエリを再実行します。管理者として試してください。Management Studio をなどとして実行します。
