PHP 開発では、マルチテーブル クエリは一般的な操作であり、関連するデータベース テーブル内のデータのクエリ、更新、または削除に使用されます。マルチテーブル クエリには複数のテーブル間の関係が含まれるため、基本的な SQL 構文とスキルを習得する必要があります。
次に、PHP での複数テーブル クエリの一般的な記述方法とテクニックをいくつか示します。
INNER JOIN は、一般的な複数テーブル クエリです。テーブル クエリ 2 つ以上のテーブルの列を結合し、一致する行を返すための構文。
構文形式:
SELECT 列名 FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
このうち、table1 と table2 は、テーブル 1 とテーブル 2 です。接続されている場合、column_name はクエリ対象の列です。
例:
SELECTorders.order_id,customers.customer_nameFROMordersINNERJOINcustomersONorders.customer_id=customers.customer_id;
上記のステートメントは注文をクエリし、 Customers テーブルの order_id 列と customer_name 列を一致させます。
LEFT JOIN ステートメントは、右側のテーブルに一致する行がない場合でも、左側のテーブルのすべての行を返します。
構文形式:
SELECT 列名 FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
このうち、table1 は左側のテーブルです。 table2 は右側のテーブルで、column_name はクエリ対象の列です。
例:
SELECTcustomers.customer_name,orders.order_date FROM Customers LEFT JOINorders ON Customers.customer_id =orders.customer_id ORDER BYorders.order_date;
上記のステートメントCustomers テーブルと Orders テーブルの customer_name 列と order_date 列をクエリし、order_date 列で並べ替えます。
RIGHT JOIN ステートメントは、左側のテーブルに一致する行がない場合でも、右側のテーブルのすべての行を返します。
構文形式:
SELECT 列名 FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
このうち、table1 は左側のテーブルです。 table2 は右側のテーブルで、column_name はクエリ対象の列です。
例:
SELECTcustomers.customer_name,orders.order_date FROM Customers RIGHT JOINorders ON Customers.customer_id =orders.customer_id ORDER BYorders.order_date;
上記のステートメントCustomers テーブルと Orders テーブルの customer_name 列と order_date 列をクエリし、order_date 列で並べ替えます。
FULL OUTER JOIN ステートメントは、左右のテーブルのすべてのデータ行を返します。
構文形式:
SELECT 列名 FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
このうち、table1 と table2 は次のようになります。接続されたテーブル、column_name はクエリ対象の列です。
例:
SELECTcustomers.customer_name,orders.order_date FROM Customers FULL OUTER JOINorders ON Customers.customer_id =orders.customer_id ORDER BYorders.order_date;
上記ステートメントcustomers テーブルとorders テーブルの customer_name 列と order_date 列がクエリされ、2 つのテーブルのすべてのデータ行が返され、order_date 列で並べ替えられます。
CROSS JOIN ステートメントは、2 つのテーブルのすべての列のデカルト積を返します。
構文形式:
SELECT 列名 FROM table1 CROSS JOIN table2;
このうち、table1 と table2 は接続するテーブル、column_name は列です。尋ねられること。
例:
SELECTcustomers.customer_name,orders.order_date FROM Customers CROSS JOINorders;
上記のステートメントは、customers テーブルとorders テーブルのすべての列をクエリし、2 つの列を返します。テーブル内のすべての行。
複数テーブルのクエリを実行するときは、次の点に注意する必要があります。
まとめると、PHP で複数テーブルのクエリを実行するにはさまざまな方法があり、実際の状況に応じて適切な構文と操作方法を選択する必要があります。どの方法を使用する場合でも、必要なデータを取得するには、さまざまなテーブル間の関係を理解し、クエリ対象とフィルター条件を正確に指定することが重要です。
以上がPHPマルチテーブルクエリの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。