How can SQL joins be used to combine news articles and their corresponding comments in a single query for efficient retrieval?

To combine news articles and their corresponding comments in a single query using SQL joins, you can use a LEFT JOIN to connect the articles table with the comments table based on a common key, such as article_id. This will allow you to retrieve all articles along with their associated comments in one efficient query.

<?php
// Establish a database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "news_database";

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

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

// SQL query to retrieve articles and their corresponding comments
$sql = "SELECT articles.*, comments.comment_text 
        FROM articles 
        LEFT JOIN comments ON articles.article_id = comments.article_id";

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

if ($result->num_rows > 0) {
    // Output data of each row
    while($row = $result->fetch_assoc()) {
        echo "Article title: " . $row["article_title"]. "<br>";
        echo "Article content: " . $row["article_content"]. "<br>";
        echo "Comment: " . $row["comment_text"]. "<br><br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>