Web サイトを開発する場合、複数のテーブルを組み合わせてクエリを実行し、必要なデータを取得する必要がある場合があります。 PHP では、ユニオン クエリ ステートメントを使用してこの機能を実現できます。この記事では、PHP を使用して 3 つのテーブルを共同でクエリする方法を紹介します。
users、orders、order_items という 3 つのテーブルがあるとします。このうち、users テーブルはユーザー情報を記録し、orders テーブルは注文情報を記録し、order_items テーブルは注文品目情報を記録します。次に、各ユーザーのすべての注文と、各注文のすべての品目をクエリする必要があります。これは、次の結合クエリ ステートメントを使用して実現できます。
$sql = "SELECT u.name, o.order_number, i.product_name, i.price FROM users u JOIN orders o ON u.id = o.user_id JOIN order_items i ON o.id = i.order_id WHERE u.id = ?";
このステートメントは、まず JOIN キーワードを使用して users テーブル、orders テーブル、および order_items テーブルを接続し、次に WHERE 句を使用して指定されたユーザーの情報をフィルターで除外します。 。このうち、JOIN キーワードはテーブルを結合するために使用され、ON キーワードは接続条件を指定するために使用されます。
上記のクエリでは、各ユーザーのすべての注文と各注文のすべての品目をクエリする必要があります。したがって、JOIN キーワードを使用して、users テーブル、orders テーブル、order_items テーブルを接続する必要があります。接続方法は 3 つあります。
この例では、一致する行のみを返したいため、INNER JOIN を使用しました。
次に、接続条件を指定する必要があります。ここでは、ユーザー ID (users.id) を注文ユーザー ID (orders.user_id) に関連付け、注文 ID (orders.id) を使用して注文商品注文 ID (order_items.order_id) を関連付けます。
最後に、WHERE 句を使用して、指定したユーザーの情報をフィルタリングします。ここではプレースホルダー?を使用しており、クエリを実行する前に、bindParam() または bindingValue() メソッドを使用して実際のパラメーターをプレースホルダーにバインドする必要があります。
要約すると、これは 3 つのテーブルを共同でクエリする比較的単純な PHP ステートメントです。ユニオン クエリは非常に柔軟で強力なクエリ手法であり、実際の開発では実際のニーズに応じて柔軟に使用する必要があります。
以上がPHP ユニオン クエリ 3 つのテーブルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。