MySQLにおけるデータテーブルの接続方法の共有

PHPz
リリース: 2023-06-15 21:09:31
オリジナル
4142 人が閲覧しました

MySQL は、大量のデータの管理に役立つサーバー側のリレーショナル データベース管理システムであり、さまざまな方法でデータを操作することもできます。このうち最も重要なのは、異なるデータ テーブルを接続することです。 MySQL には、データ テーブルの結合に使用できるいくつかの異なる結合方法があり、それぞれに異なる利点と欠点があります。この記事では、読者が MySQL をよりよく理解して使用できるように、いくつかの一般的な MySQL データ テーブル接続方法を紹介します。

1. 左結合

左結合では、左のテーブルのすべての情報と右のテーブルの一致するデータを返します。右側のテーブルに一致するデータがない場合は、NULL 値が返されます。

構文:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;

例:

学生テーブル (学生) と家族テーブル (家族) という 2 つのテーブルがあるとします。学生テーブルには学生の名前と年齢が含まれ、家族テーブルには対応する名前と年齢が含まれます。生徒の名前、父親の名前。

これら 2 つのテーブルを接続するには左結合を使用します。SQL ステートメントは次のとおりです:

SELECT Student.name, Student.age, family.father_name
FROM Student
LEFT JOIN family
ON Student.name = family.student_name;

ここでは、名前、年齢、父親の名前を取得できます。生徒に一致する父親の名前がない場合、ここでは NULL 値が返されます。

2. 右結合

右結合は、左結合のミラー バージョンとみなすことができます。右結合では、右側のテーブルからすべての情報を返し、左側のテーブルから一致するデータを返します。左側のテーブルに一致するデータがない場合は、NULL 値が返されます。

構文:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table RIGHT JOIN right_table
ON left_table.column_name = right_table.column_name;

例:

上記の Student テーブルと family テーブルの例を引き続き使用し、右結合を使用してこれら 2 つのテーブルを接続します。SQL ステートメントは次のとおりです:

SELECT Student.name 、student .age、family.father_name
FROM Student
RIGHT JOIN family
ON Student.name = family.student_name;

ここで、名前、年齢、父親の名前を取得します。一致する学生名がない場合、ここでは NULL 値が返されます。

3. 内部結合

内部結合は、2 つのテーブル内で一致する関係を持つデータのみを返します。 2 つのテーブル間に一致する関係がない場合、データは返されません。

構文:

SELECT left_table.column_name(s)、right_table.column_name(s)
FROM left_table
INNER JOIN right_table
ON left_table.column_name = right_table.column_name ;

例:

内部結合を使用して、student テーブルと family テーブルを接続します。SQL ステートメントは次のとおりです:

SELECT Student.name、student.age、family。 Father_name
FROM Student
INNER JOIN family
ONstudent.name = family.student_name;

ここでは、生徒名、年齢、父親の名前データの 2 つのテーブル間の関連性のみを取得します。 。

4. 外部結合

外部結合は、左結合、右結合、完全外部結合の総称です。外部結合では、2 つのテーブルからすべてのデータを返し、それらを照合します。あるデータにテーブルが 1 つだけ存在し、別のテーブルには存在しない場合、対応するデータ位置に NULL が返されます。

構文:

SELECT left_table.column_name(s)、right_table.column_name(s)
FROM left_table
FULL OUTER JOIN right_table
ON left_table.column_name = right_table。 column_name;

例:

外部結合を使用して、student テーブルと family テーブルを接続します。SQL ステートメントは次のとおりです:

SELECT Student.name, Student.age , family.father_name
FROM Student
FULL OUTER JOIN family
ON Student.name = family.student_name;

ここでは、すべての Student テーブルと Family テーブルのデータを取得して、それらをまとめます。父親が家族テーブルで直接見つかったが、対応する生徒が見つからなかった場合、ここでは NULL 値が返されます。

5. 自己結合

自己結合とは、1 つのテーブル内の 2 つの異なる項目を 2 つのテーブルとして接続することを指します。通常、このメソッドはテーブル内の対応する情報を見つけるために使用されます。

構文:

SELECT a.column_name(s), b.column_name(s)
FROM table a, table b
WHERE a.column_name = b.column_name AND a. column_name = 'value';

例:

国とその首都を含むテーブルがあるとします。自己結合メソッドを使用して、その国のすべての首都間の関係をクエリできます。

自己結合を使用して上記のクエリを実装します。SQL ステートメントは次のとおりです:

SELECT a.country, a.capital as Capital_city, b.capital
FROM Capital_table a, Capital_table b
WHERE a .capital != b.capital AND a.country = b.country;

ここで、各国と他の国の首都との間の関連データを取得できます。

概要:

MySQL はいくつかの異なるテーブル接続メソッドを提供しており、各メソッドを使用してさまざまなデータ接続要件を処理できます。これらのメソッドとその使用法を深く理解することで、MySQL でのデータ接続をより効率的に処理し、MySQL の使用法をより深く理解できるようになります。

以上がMySQLにおけるデータテーブルの接続方法の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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