目次
結合
クロス結合
内部結合/外部結合
ホームページ データベース mysql チュートリアル MySQL の高度なドリフトについての深い理解 (4)

MySQL の高度なドリフトについての深い理解 (4)

Mar 08, 2017 pm 01:55 PM

結合

クロス結合

最も単純なタイプの結合はクロス結合です。これには、テーブルを乗算してすべてを含む積を作成することが含まれます。
例:
select * from students,person;//結果は 2 つのテーブルの組み合わせです
2 つのテーブルのすべての列が結合されて、すべての可能な組み合わせを含む結果セットが生成されます。このタイプはクロス結合と呼ばれ、結合後の結果のテーブルの行数は、結合に使用された各テーブルの行数の積と同じになります。
上記の相互接続はデータベース サーバーのパフォーマンスに大きな影響を与えるため、接続で where 句を使用して一部のレコードをフィルタリングすることをお勧めします。

内部結合/外部結合

内部結合は最も一般的なタイプの結合であり、結合のすべての部分を構成するすべてのテーブルからの一致が必要であり、一致しない行は除外されるため、最も均一です。最終結果 セット外の内部結合の最も一般的な例は等価結合です。これは、結合されたテーブル内のフィールドが各テーブル内のフィールドと同じであることを意味します。この場合、最終的な結果セットには、指定されたフィールドに一致する結合テーブル内の行のみが含まれます。

外部結合は非対称であり、結合の反対側の行と一致するかどうかに関係なく、結合の片側のすべての行が最終レコードに含まれます

結合のどちら側が保持されるかに応じて、SQL は左外部結合と右外部結合。左外部結合では、結合の左側にあるテーブルの、where 句に一致するすべてのレコードが最終結果セットに表示されます。右外部結合では、結合の右側にあるテーブルの、where 句に一致するすべてのレコードが最終結果セットに表示されます。

左外部結合: 「接続の左側の部分からすべての行を選択し、選択した行ごとに右側の部分から一致する値が表示されるか、NULL 行が表示されます。」と説明されています。 このタイプの結合は、左結合または左外部結合と呼ばれます。右結合または右外部結合はその逆です。

自己結合
このタイプの結合は、通常、内部結合を含むテーブル内のレコードを取得するために使用されます。

MySQL 4.0 以降では、接続に加えて、複数の選択クエリの出力を 1 つの結果セットに結合するために使用されるユニオン演算子もサポートしています。 ほとんどの場合、この演算子は、クエリによって生成された結果セットを別のテーブルに追加し、すべての結果を含む単一のテーブルを作成するために使用されます。

ユニオン演算子を使用して、できるだけ多くの選択クエリを結合しますが、次の 2 つの基本条件を満たす必要があります:

まず、各選択クエリによって返されるフィールドの数が同じである必要があります。
次に、各選択クエリのフィールドのデータ型が互いに一致する必要があります。

Union 演算子は、結合された結果セットから重複する行を自動的に削除します。

サブクエリ

where/havingクエリ
MySQLでは、where句またはhaving句にサブクエリを含めることができます。かっこで囲まれたサブクエリは、比較演算子、論理演算子、in 演算子、exists 演算子よりも優先されます。

having 句の比較演算子の前にサブクエリを使用して、親クエリによって作成されたグループをフィルタリングすることもできます。

in/exists/from query
比較演算子は、サブクエリによって返された結果列に値が含まれている場合にのみ適用されます。サブクエリによって返される結果セットが値のリストである場合、比較演算子を in 演算子に置き換える必要があります。

in 演算子は、結果セットに特定の値が存在するかどうかを検出できます。検出が成功すると、外部クエリが実行されます。

exists 演算子は、サブクエリが結果を生成したかどうかをクエリするために使用できます。これにより、exists テストが true を返した場合にのみ外部クエリを実行できます。
サブクエリによって生成された結果は、select の from 句でも使用できます。ステートメントをテーブルとして表示します。

つまり、内部クエリによって生成された結果テーブルは、外部クエリの from 句で使用されます。このようなテーブルは、SQL ではエクスポート テーブルになります。


この方法でサブクエリの結果を使用する場合、内部クエリによって生成された結果テーブルは最初に別のテーブル名を取る必要があり、そうでないと MySQL はテーブル内のカラムを参照する方法を認識できないことに注意してください。


以上がMySQL の高度なドリフトについての深い理解 (4)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQLの役割:Webアプリケーションのデータベース MySQLの役割:Webアプリケーションのデータベース Apr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQL対その他のプログラミング言語:比較 MySQL対その他のプログラミング言語:比較 Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

データベース接続の解決問題:Minii/DBライブラリを使用する実用的なケース データベース接続の解決問題:Minii/DBライブラリを使用する実用的なケース Apr 18, 2025 am 07:09 AM

小さなアプリケーションを開発する際には、軽量データベース操作ライブラリをすばやく統合する必要性という厄介な問題に遭遇しました。複数のライブラリを試した後、私はそれらがあまりにも多くの機能を持っているか、あまり互換性がないかのどちらかであることがわかりました。最終的に、私は問題を完全に解決したYii2に基づいた単純化されたバージョンであるMinii/DBを見つけました。

Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

初心者向けのMySQL:データベース管理を開始します 初心者向けのMySQL:データベース管理を開始します Apr 18, 2025 am 12:10 AM

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

MySQLモードの問題を解決する問題:TheliamySQLModescheckerモジュールの使用経験 MySQLモードの問題を解決する問題:TheliamySQLModescheckerモジュールの使用経験 Apr 18, 2025 am 08:42 AM

Theliaを使用してeコマースWebサイトを開発するとき、私はトリッキーな問題に遭遇しました:MySQLモードが適切に設定されていないため、いくつかの機能が適切に機能しません。いくつかの調査の後、TheliamysQlModescheckerというモジュールを見つけました。これは、Theliaが必要とするMySQLパターンを自動的に修正できるため、問題を完全に解決できます。

See all articles