データベース設計では、必要なデータ情報を取得するために、異なるテーブル間でデータ クエリを実行する必要があることがよくあります。広く使用されているプログラミング言語として、PHP はこの目標を達成するための多くのクエリ メソッドを提供します。この記事では、初心者がこのスキルをよりよく習得できるように、同じデータベース内の 2 つのテーブルをクエリする方法を紹介します。
ステップ 1: SQL 結合を理解する
2 つの異なるテーブルのデータをクエリするには、SQL 結合クエリを使用する必要があります。 SQL 結合クエリは基本的に 2 つ以上のテーブルを結合して、より大きな結果セットを形成します。 SQL 言語には、内部結合、左結合、右結合の 3 種類の結合クエリがあります。これらの型は、テーブルの結合方法と返される結果の範囲が異なります。
内部結合は最も一般的に使用される結合方法で、2 つのテーブル間で一致する行を含む結果のみを返します。左結合と右結合は内部結合と似ていますが、より広範囲の結果を返す点が異なります。左結合には左側のテーブルのすべての行が含まれ、右結合では右側のテーブルのすべての行が返されます。
ステップ 2: 結合クエリ ステートメントを作成する
SELECT ステートメントを使用して結合クエリを実装できます。クエリの鍵は、2 つのテーブルを結合する方法です。これはデータ間の関係と要件によって異なりますが、通常は 2 つのテーブルに同じ列があるかどうかを知る必要があります。その場合は、WHERE 句で等号を使用して 2 つのテーブルを一致させることができます。そうでない場合は、JOIN ステートメントと ON ステートメントを使用する必要があります。
Join 句は使用するテーブルを定義し、ON 句はテーブルを結合する条件を定義します。 PHP 言語には、結合クエリを実装できる 2 つのコマンド、mysqli_query と PDO::query があります。どのコマンドを使用する場合でも、まずデータを接続する必要があります。
以下は基本的な SQL 結合クエリのサンプルです:
SELECT * FROM table1
JOIN table2
ON table1.col = table2.col
このクエリは、テーブル 1 とテーブル 2 の間で一致する行を返します。これは単純なインライン結合クエリの例です。この例では、渡されたパラメーターを通じて 2 つのテーブル間で一致する行の数のみをクエリします。
ステップ 3: PHP を使用して結合クエリを実装する
PHP で結合クエリを実装するのは非常に簡単です。次の手順に従うだけです:
1. データベースに接続し、操作するデータ テーブルを選択します
2. SQL 結合クエリ ステートメントを作成します
3. mysqli_query または PDO ::query を使用してクエリ操作を実行します
4. while ループと mysqli_fetch_array または PDO::fetchAll を使用して結果を取得します
次は、mysqli_query と while ループを使用してクエリ操作を実行する簡単な例です。 SQL 結合クエリを実装します:
$connect=mysqli_connect("localhost","username","password","dbname");
if (!$connect){
die("connection failed:".mysqli_connect_error());
}
$sql="SELECT *
FROM table1
JOIN table2
ON table1 .col=table2.col ";
$result=mysqli_query($connect,$sql);
if(mysqli_num_rows($result)>0){
while($row=mysqli_fetch_array($result)){ echo $row['column_name']; }
}else{
echo "No matching rows found.";
}
?>
概要
上記は、PHP を使用して、次の 2 つのテーブルにクエリを実行する方法の概要です。同じデータベース。 SQL 結合クエリは、データ テーブル間でデータをクエリする基本的な方法です。適切な結合タイプを使用すると、複数のデータ テーブル間でデータを結合し、必要な情報を取得することが容易になります。同時に、PHP 言語を使用して結合クエリを実装することも非常に簡単です。この記事が初心者がこのスキルを学び、習得するのに役立つことを願っています。
以上がPHPで同じデータベース内の2つのテーブルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。