ホームページ > データベース > mysql チュートリアル > MySQLの内部結合クエリの方法は何ですか

MySQLの内部結合クエリの方法は何ですか

WBOY
リリース: 2023-06-02 08:52:32
転載
1169 人が閲覧しました

内部接続は接続とも呼ばれ、最も古いタイプの接続です。通常結合または自然結合とも呼ばれる内部結合は、他の結合テーブルの行と一致しないすべての行を結果テーブルから削除するため、内部結合で情報が失われる可能性があります。

MySQLの内部結合クエリの方法は何ですか

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

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