What are some alternative methods to structure PHP MySQL queries with multiple tables to avoid data duplication?

When working with multiple tables in PHP MySQL queries, it's important to avoid data duplication to maintain data integrity and efficiency. One way to achieve this is by using JOIN clauses in your queries to combine data from multiple tables based on a common column. This allows you to retrieve related data without duplicating information across tables.

<?php
// Connect to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Query to select data from multiple tables using JOIN
$sql = "SELECT orders.order_id, customers.customer_name, products.product_name
        FROM orders
        INNER JOIN customers ON orders.customer_id = customers.customer_id
        INNER JOIN products ON orders.product_id = products.product_id";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // Output data of each row
  while($row = $result->fetch_assoc()) {
    echo "Order ID: " . $row["order_id"]. " - Customer Name: " . $row["customer_name"]. " - Product Name: " . $row["product_name"]. "<br>";
  }
} else {
  echo "0 results";
}

$conn->close();
?>