内部接続は接続とも呼ばれ、最も古いタイプの接続です。通常結合または自然結合とも呼ばれる内部結合は、他の結合テーブルの行と一致しないすべての行を結果テーブルから削除するため、内部結合で情報が失われる可能性があります。
MySQL の FROM 句でキーワード INNER JOIN を使用して 2 つのテーブルを接続し、ON 句を使用して接続条件を設定します。構文的には、INNER JOIN と CROSS JOIN は無条件で交換できます。
SELECT FROM INNER JOIN [ ON子句]
: 取得する列の名前。
: 内部接続用の 2 つのテーブルのテーブル名。
内部結合はシステムのデフォルトのテーブル接続方法であるため、FROM 句の後に INNER キーワードを省略して JOIN キーワードを直接使用できます。内部結合を使用した後、FROM 句の ON 句を使用してテーブルを結合する条件を設定できます。
INNER JOIN または JOIN を FROM 句内で複数のテーブル間で連続して使用することで、複数のテーブルの内部結合を同時に実現できます。
テーブル tb_students_info とテーブル tb_Departments の両方に、同じデータ型のフィールド dept_id が含まれており、2 つのテーブル間で内部結合クエリが使用されます。
入力された SQL ステートメントと実行結果は次のとおりです
mysql> SELECT id,name,age,dept_name -> FROM tb_students_info,tb_departments -> WHERE tb_students_info.dept_id=tb_departments.dept_id; +----+--------+------+-----------+ | id | name | age | dept_name | +----+--------+------+-----------+ | 1 | Dany | 25 | Computer | | 2 | Green | 23 | Chinese | | 3 | Henry | 23 | Math | | 4 | Jane | 22 | Computer | | 5 | Jim | 24 | Computer | | 6 | John | 21 | Math | | 7 | Lily | 22 | Computer | | 8 | Susan | 23 | Economy | | 9 | Thomas | 22 | Chinese | | 10 | Tom | 23 | Economy | +----+--------+------+-----------+ 10 rows in set (0.00 sec)
ここで、SELECT ステートメントと以前の紹介との最大の違いは、SELECT の後に指定された列が 2 つの異なるテーブル (id) に属していることです。 、名前、年齢はテーブル tb_students_info にあり、dept_name はテーブル tb_Departments にあり、同時に FROM 句には 2 つのテーブル tb_students_info と tb_Departments がリストされます。ここでは WHERE 句がフィルター条件として使用されており、2 つのテーブルの dept_id フィールドの値が等しい場合にのみ、結合クエリの条件が満たされることを示します。
返された結果から、表示されたレコードが 2 つのテーブルの異なる列値で構成された新しいレコードであることがわかります。
ヒント: tb_students_info テーブルと tb_Departments テーブルには同じフィールド dept_id があるため、比較する場合、テーブル名を完全修飾する必要があります (形式は「テーブル名.列名」です)。この場合、MySQL はどれが参照されているかを認識できず、エラー メッセージを返します。
tb_students_info テーブルと tb_Departments テーブルの間では、内部結合クエリに INNER JOIN 構文を使用します。入力 SQL 文と実行結果は次のとおりです。
mysql> SELECT id,name,age,dept_name -> FROM tb_students_info INNER JOIN tb_departments -> WHERE tb_students_info.dept_id=tb_departments.dept_id; +----+--------+------+-----------+ | id | name | age | dept_name | +----+--------+------+-----------+ | 1 | Dany | 25 | Computer | | 2 | Green | 23 | Chinese | | 3 | Henry | 23 | Math | | 4 | Jane | 22 | Computer | | 5 | Jim | 24 | Computer | | 6 | John | 21 | Math | | 7 | Lily | 22 | Computer | | 8 | Susan | 23 | Economy | | 9 | Thomas | 22 | Chinese | | 10 | Tom | 23 | Economy | +----+--------+------+-----------+ 10 rows in set (0.00 sec)
INNER JOIN は、クエリ ステートメントで 2 つのテーブル間の関係を指定するために使用されます。この構文を使用する場合、接続条件は WHERE.ON の代わりに ON 句を使用して指定され、WHERE の後に指定される条件は同じになります。
以上がMySQLの内部結合クエリの方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。