mysqlクエリ接続

PHPz
リリース: 2023-05-08 10:25:08
オリジナル
4739 人が閲覧しました

MySQL クエリ接続の概要

データベース管理において、クエリ接続は非常に重要な部分です。結合とは、データ クエリを完了するために、テーブル間の関係に基づいて 2 つ以上のテーブルを結合するプロセスを指します。 MySQL では、JOIN ステートメントを使用してクエリ接続を実装できます。この記事では、MySQL クエリ接続の使用方法について詳しく説明します。

MySQL クエリ接続の分類

MySQL クエリ接続は、主に、内部結合、外部結合、およびクロス結合の 3 つのカテゴリに分類されます。

    #INNER JOIN
内部結合とは、2 つ以上のテーブルのレコード間に対応する関係があることを意味します。この関係は主キーと外部キーで表すことができます。内部結合は、同じレコードを保持することによって結果を返します。つまり、両方のテーブルに一致するレコードが存在する場合にのみクエリ結果が返されます。

内部結合の構文は次のとおりです:

SELECTcol1,col2,...

FROM table1
INNER JOIN table2
ON table1.column1 = table2。このうち、col1、col2、... は返される列で、table1 と table2 はクエリ対象のテーブル、column1 と column2 はテーブルを接続する列です。

OUTER JOIN

  1. 外部結合は、左結合と右結合に分かれています。この結合は、2 つ以上のテーブルを接続する場合を指します。一方のテーブルには、もう一方のテーブルに一致するレコードがありません。
左結合: 左結合は、左側のテーブルがすべてのレコードをフェッチし、右側のテーブルが一致するレコードのみをフェッチすることを意味します。左側のテーブルと右側のテーブルの間に一致するレコードがない場合、右側のテーブルは NULL 値を返します。

左結合の構文は次のとおりです:

SELECTcol1,col2,...

FROM table1

LEFT JOIN table2

ON table1.column1 = table2。 column2;

右結合: 右結合は左結合と似ていますが、左のテーブルと右のテーブルの役割が逆になる点が異なります。

右結合の構文は次のとおりです:

SELECTcol1,col2,...

FROM table1

RIGHT JOIN table2

ON table1.column1 = table2。 column2;

注: MySQL には FULL OUTER JOIN (完全外部結合) もありますが、MySQL はそれをサポートしていません。したがって、UNION ステートメントを使用して完全外部結合をシミュレートできます。

クロス結合 (CROSS JOIN)

  1. クロス結合とは、2 つ以上のテーブル間の結合条件を持たない結合を指します。簡単に言えば、クロス結合を使用すると、考えられるすべての組み合わせをクエリできます。
クロス結合の構文は次のとおりです:

SELECTcol1,col2,...

FROM table1

CROSS JOIN table2;


その内、 Col1、col2、... は返される列で、table1 と table2 はクエリされるテーブルです。

MySQL クエリ接続の応用例

次に、いくつかの実践的な例を通して、MySQL クエリ接続の使用法を理解しましょう。

例 1: 内部結合

2 つのテーブルstudent と course があるとします。それらの列と内容は次のとおりです:

student テーブル:

#idname##1ジャック182トム1932018course_id
age
# #ジェリー
4 ボブ
# #コース テーブル:

course_name

student_id1数学12英語2各学生が選択したコースをクエリしたいので、次の SQL ステートメントを使用できます: SELECT Student.name, course.course_nameINNER JOIN courseON Student.id = course.student_id;
3 科学 2
4 歴史 3
FROM Student
このクエリは次の結果を返します:



name

コース名

トムトムジェリー例 2: 左結合 上記の学生テーブルとコース テーブルを例として、各学生 (選択していない学生も含む) が選択したコースをクエリする場合、コースを選択しました。次の SQL ステートメントを使用できます: SELECT Student.name, course.course_nameFROM StudentLEFT JOIN course
ジャック 数学
英語
科学
歴史
ON Student.id = course.student_id;

このクエリは次の結果を返します:



name

course_name

#トム##英語#トムSELECT Student.name, course.course_nameFROM StudentON Student.id = course.student_id; このクエリは次の結果を返します:
ジャック 数学
##科学
ジェリー 歴史
ボブ NULL
# #例 3: 右結合 各コースの学生 (コースを選択していない学生も含む) をクエリする場合は、引き続き上記の学生テーブルとコース テーブルを例として使用します。次の SQL ステートメントを使用できます:
RIGHT JOIN course

name

course_name




ジャック

数学##英語#トム##科学ジェリー歴史NULL地理

例 4: クロス接続

クロス接続を使用すると、考えられるすべての組み合わせをクエリできます。たとえば、3 つの要素 A、B、C を含むテーブルがあります:

table1:

#トム
##1A2B3C
id 名前
私たちはできるクロス接続を実行するには、次の SQL ステートメントを使用します:

SELECT t1.name, t2.name

FROM table1 t1
CROSS JOIN table1 t2;

このクエリは次の内容を返します。結果:

namenameAA#AABB##BCC#A##C##C結論MySQL クエリ接続は SQL 言語の重要な部分であり、関係を含むデータのクエリに役立ちます。この記事では、内部結合、左結合、右結合、クロス結合の 4 種類の結合の構文と適用例を紹介します。この記事が MySQL クエリ接続の使用に役立つことを願っています。
B
C
A
#B
##B
##C

以上がmysqlクエリ接続の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!