MySQL 中的兩表聯查是一項非常有用的功能。在某些情況下,您需要從兩個表中獲取數據,然后將它們聯結在一起,以便您可以執行進一步的操作。這篇文章將向您介紹如何使用 SQL 語句從兩個表中聯結數據,并且將結果返回到您的應用程序中。
下面是一個簡單的例子,其中我們將使用兩張表:orders 和 customers。orders 表包括有關訂單的信息,如訂單號、交易日期以及訂單的總價格。customers 表包括有關客戶的信息,如姓名、電子郵件地址以及客戶號碼。現在,我們想要從這兩張表中獲取數據,然后聯結它們以獲取一份完整的訂單清單。
SELECT orders.order_id, orders.order_date, customers.customer_name, customers.customer_email, orders.total_price FROM orders LEFT JOIN customers ON orders.customer_id = customers.customer_id;
在這個例子中,我們使用了一個聯結操作符(LEFT JOIN),并且指定了連接的條件(orders.customer_id = customers.customer_id)。我們還從每個表中選擇了一些列,然后在 SELECT 語句中指定了所需的列。
執行此查詢后,您將獲得一個包含所有訂單的清單,其中包括每個訂單的訂單號、交易日期、客戶姓名、客戶電子郵件和總價格。
在應用程序中使用此結果非常容易。你只需要像任何其他查詢結果那樣對它進行處理就可以了。
$result = mysqli_query($conn, "SELECT orders.order_id, orders.order_date, customers.customer_name, customers.customer_email, orders.total_price FROM orders LEFT JOIN customers ON orders.customer_id = customers.customer_id"); if (mysqli_num_rows($result) >0) { while($row = mysqli_fetch_assoc($result)) { echo "Order ID: ".$row["order_id"]." - Date: ".$row["order_date"]." - Customer Name: ".$row["customer_name"]." - Customer Email: ".$row["customer_email"]." - Total Price: ".$row["total_price"]."<br>"; } } else { echo "0 results"; }
在這個例子中,我們使用mysqli_query函數執行我們的SQL語句,并將結果存儲在一個$result變量中。如果結果集中有數據,則我們將循環遍歷所有的行,并將結果輸出到頁面上。如果結果集為空,則會輸出一個“0結果”消息。
總的來說,在 MySQL 中使用兩表聯查非常簡單,并且使您能夠輕松地從多個表中獲取所有所需的信息。只要熟悉了SQL語句并且知道如何在應用程序中使用它,您就可以將此功能集成到您的應用程序中。