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 サイトの他の関連記事を参照してください。