ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して 2 つのテーブルの情報をクエリする方法

PHP を使用して 2 つのテーブルの情報をクエリする方法

PHPz
PHPzオリジナル
2023-04-04 09:13:20706ブラウズ

PHP は、Web 開発でよく使用される一般的なサーバー側プログラミング言語です。データベースと対話するタスクのために、PHP の MySQLi 拡張機能は、データベース データのクエリ、追加、変更、削除を簡単に実行できる強力な機能を提供します。この記事では、PHP を使用して 2 つのテーブルの情報をクエリする方法を紹介します。

MySQL データベースでは、2 つ以上のテーブルからデータを取得する必要がある場合があります。たとえば、単純な注文管理システムでは、注文テーブルと顧客テーブルから情報を取得して、注文と顧客の詳細を表示する必要がある場合があります。この時点で、クエリのために 2 つのテーブルを結合する必要があります。

テーブルが 2 つあり、1 つは顧客情報を格納し、もう 1 つは注文情報を格納するとします。顧客テーブルには、顧客 ID、顧客名、住所、市区町村、郵便番号フィールドが含まれます。注文テーブルには、注文 ID、顧客 ID、注文日、および合計フィールドが含まれます。私たちの目標は、これら 2 つのテーブルから注文と顧客の情報を取得することです。

  1. INNER JOIN を使用して 2 つのテーブルを結合する

INNER JOIN キーワードを使用して 2 つのテーブルを結合し、取得時に両方のテーブルを同時に取得できるようにします。データ、テーブルデータ。 INNER JOIN キーワードは、2 つのテーブルの同じ値に一致する行を返します。これは、次のコードで実現できます。

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

このクエリ ステートメントは、customer テーブルと order 内の同じ顧客 ID を持つすべての行を返します。テーブルであり、結果セットには顧客が含まれます。4 つのフィールド: ID、顧客名、注文 ID、注文日。

  1. LEFT JOIN を使用して 2 つのテーブルを結合する

LEFT JOIN キーワードは、左側のテーブル (つまり、最初のテーブル) のすべての行と行を返します。右側 テーブル (つまり 2 番目のテーブル) 内で一致する行が存在しない場合は、NULL が埋め込まれます。たとえば、注文をしていない顧客も表示したい場合は、次のコードを使用してこれを実現できます。

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

このクエリ ステートメントは、customer テーブル内のすべての行と、次の行を返します。注文テーブル内の同じ顧客 ID。顧客が注文していない場合、クエリ結果には NULL 値が表示されます。

  1. RIGHT JOIN を使用して 2 つのテーブルを結合します

RIGHT JOIN キーワードは LEFT JOIN の逆です。右のテーブルのすべての行と、左側のテーブルの行が一致する行。たとえば、注文を行ったすべての顧客を表示したい場合、次のコードを使用してこれを実現できます。

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

このクエリ ステートメントは、orders テーブル内のすべての行と、同じ内容の行を返します。顧客テーブルの顧客 ID。顧客が注文していない場合、クエリ結果には NULL 値が表示されます。

概要

PHP を通じて 2 つのテーブルの情報をクエリするには、INNER JOIN、LEFT JOIN、および RIGHT JOIN キーワードを使用して 2 つのテーブルを結合できます。 2 つのテーブルを結合することで、複数のテーブルからデータを簡単に取得し、それらを 1 つの結果セットにマージできます。クエリ ステートメントを作成するときは、クエリ結果が正しいことを確認するために、テーブル間の関連付け条件に特別な注意を払う必要があります。

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

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