ホームページ >データベース >mysql チュートリアル >Mysqlの結合クエリの詳しい説明
Mysqlの結合クエリの詳細説明
1. 基本概念
「2つのテーブルの水平ドッキング」で2つのテーブルの各行を接続し、すべての結果を取得します。 行の結果。
テーブル A には n1 行と m1 列があり、
テーブル B には n2 行と m2 列があると仮定します。
テーブル A とテーブル B が「接続」されると、
n1*n2 行になります。
m1+m2列。
2. ドッキング (接続) された後の結果は次のようになります:
3 接続クエリの基本形式:
から表1 【接続方法】結合 表2【接続条件について】
結合クエリの分類
1. クロス結合
は、実際には2つのテーブル間の結合の基本概念です。参加後、「フィルタリング」の結果を何もせずに「すべてのデータ」が取得されます。フィルタリングとは接続条件を指します。
つまり、相互接続は条件のない「すべての接続」であり、デカルト積と呼ばれます。 データを接続すると、データの各行の意味が「失われる」可能性があるため、通常、相互接続には実用的な価値はありません。 フォーム: テーブル 1 から [クロス] テーブル 2 を結合 または: テーブル 1、テーブル 2 から 内部結合 フォーム: テーブル 1 から [内部] テーブル 2 を結合1. フィールド 1 = テーブル 2. フィールド 2; 意味: 相互接続の結果、設定された接続条件 (on 以降の条件) を満たす行のデータを取得します。次のような「意味のないデータ」があります: 2. 内部接続の結果を見てください:
3. 結果は次のようになります。 4 .次のことがわかります:
内部結合は、実際には、相互接続のデータ結果の中で「意味のある」データ行を見つけることです。
そして、相互接続では、その中のデータには意味のあるものとそうでないもの (間違ったデータ) があります。ただし、次の点にご注意ください: 1. この種の接続条件は任意に設定されるものではなく、テーブル間の実際の関係に従って設定される必要があります。通常、この関係は 2 つのテーブル間の「主外部キー関係」です。 2 つのフィールドの値は等しいです。
2. 接続クエリは本質的に、以前に学習した「外部キー関係」と論理的に一貫していることがわかります。 3. ただし、内部結合を行う場合、2 つのテーブルに外部キー関係が「必須」である必要はありません。実用的な観点から、それらのテーブルに外部キー関係 (データ関係) があることを理解しているだけです。内部結合を使用すると、それらの関係が確立されます。
以上がMysqlの結合クエリの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。