mysqlクエリ関連テーブル

WBOY
WBOYオリジナル
2023-05-08 09:35:072655ブラウズ

ほとんどの場合、データベースには複数のテーブルがあります。データベース システムでは、多くの場合、複数のテーブルのデータをクエリする必要があります。これは SQL 結合クエリと呼ばれます。 MySQL では、関連するクエリを実装するには JOIN 句が必要です。この記事では、JOIN 句を使用して MySQL の関連テーブルからデータをクエリする方法について説明します。

  1. 関連クエリとは何ですか?

一般に、データベース内のテーブルには多数のデータが含まれます。結合クエリの主な目的は、複数のテーブルからデータを抽出し、これらのテーブルのデータを結合して、必要な情報を含む完全なビューを生成することです。

たとえば、2 つのテーブル (1 つは顧客テーブル、もう 1 つは注文テーブル) を持つ単純な電子商取引システムを考えてみましょう。顧客テーブルには顧客の個人情報が含まれ、注文テーブルには注文番号、注文日、顧客番号などの注文の詳細が含まれます。顧客の注文情報をクエリするには、これら 2 つのテーブルを結合する必要があります。

  1. JOIN 句とは何ですか?

JOIN は、複数のテーブルのデータを結合するために使用される SQL 句です。 2 つ以上のテーブルのデータを相互に照合して、結合クエリを実装できます。

JOIN 句は、2 つ以上のテーブルの列の比較に基づいてデータ間の関係を決定します。 JOIN 句にはいくつかの種類があり、最も一般的なのは INNER JOIN、LEFT JOIN、および RIGHT JOIN です。

  1. INNER JOIN

INNER JOIN は、JOIN 句の最も基本的な形式です。両方のテーブルから互いに一致するレコードのみを返します。 INNER JOIN 句の基本的な構文は次のとおりです。

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

このうち、column_name は取得する列の名前を指定し、table1 と table2 は結合するテーブルの名前を指定し、column_name は結合するテーブルの名前を指定します。 2 つのテーブルの列名を比較します。

以下は、INNER JOIN を使用して 2 つのテーブルをクエリする例です:

SELECT customers.customer_name, orders.order_date
FROM customers
INNER JOIN orders
ON customers.customer_id = orders.customer_id;

このクエリは顧客の名前と注文日を返しますが、顧客と注文の両方に同じ顧客が存在する場合に限ります。 tables ID が指定された場合のみデータが返されます。

  1. LEFT JOIN

LEFT JOIN は、INNER JOIN に基づいて左側のテーブル内のすべてのレコードを追加します。右側のテーブルに対応する一致がない場合は、NULL が返されます。 LEFT JOIN 句の基本構文は次のとおりです。

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

LEFT JOIN を使用して 2 つのテーブルをクエリする例を次に示します。

SELECT customers.customer_name, orders.order_date
FROM customers
LEFT JOIN orders
ON customers.customer_id = orders.customer_id;

このクエリは、すべての顧客の名前とその注文を返します。注文のない顧客を含む日付。顧客の注文レコードがない場合、「注文日」列には NULL が表示されます。

  1. RIGHT JOIN

RIGHT JOIN は LEFT JOIN に似ていますが、左側のテーブルのすべてのレコードではなく、右側のテーブルのすべてのレコードを返します。左側のテーブルに一致するものが存在しない場合は、NULL が返されます。 RIGHT JOIN 句の基本構文は次のとおりです。

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

次に、RIGHT JOIN を使用して 2 つのテーブルをクエリする例を示します。

SELECT customers.customer_name, orders.order_date
FROM customers
RIGHT JOIN orders
ON customers.customer_id = orders.customer_id;

このクエリは、すべての注文と注文の名前を返します。顧客によって記録された注文はありません。注文の顧客レコードがない場合、顧客名列には NULL が表示されます。

  1. 概要

MySQL では、JOIN 句を使用して、複数のテーブル内の必要なデータをクエリできます。相関クエリにより、データのより完全なビューを取得し、データベース内のデータをより深く理解できるようになります。 JOIN 句には、INNER JOIN、LEFT JOIN、RIGHT JOIN など、いくつかの種類があります。適切な JOIN タイプを選択することは、データをより効率的にクエリし、データベースのパフォーマンスを向上させることができるため、非常に重要です。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。