在PHP開發中,常常會遇到需要在多個資料表中進行聯合查詢的情況。這時候,我們可以透過使用SQL語句中的union關鍵字來實現兩個表的合併查詢。本文將介紹在PHP中如何使用union關鍵字來進行兩個表的合併查詢。
我們可以使用以下語法來進行兩個表格的合併查詢:
SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;
其中,column1, column2, ...是需要查詢的列名,table1和table2分別是需要查詢的資料表名。 Union關鍵字用於將兩個SELECT語句的結果合併成一個查詢結果集。在進行合併查詢時,需要確保兩個SELECT語句中選取的資料列數量和類型必須一致,否則會產生錯誤。
除了使用UNION關鍵字進行資料表合併查詢,我們也可以使用UNION ALL關鍵字進行合併查詢。與UNION關鍵字不同的是,UNION ALL關鍵字會合併兩個查詢結果集中的所有記錄,包括重複記錄。這一點需要特別注意,因為在實際情況中,我們可能需要保留重複記錄。
以下是使用UNION ALL關鍵字進行資料表合併查詢的基本語法:
SELECT column1, column2, ... FROM table1 UNION ALL SELECT column1, column2, ... FROM table2;
user表: id name age city 1 Tom 22 北京 2 Jerry 23 上海 3 Peter 24 广州 employee表: id name age salary 1 Mary 25 2000 2 Lucy 26 2500 3 Jack 27 3000
<?php try { $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password'); $sql = "SELECT id, name, age, city FROM user UNION ALL SELECT id, name, age, salary as city FROM employee"; $stmt = $pdo->query($sql); echo "<table>"; echo "<tr><td>ID</td><td>Name</td><td>Age</td><td>City</td></tr>"; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "<tr>"; echo "<td>".$row['id']."</td>"; echo "<td>".$row['name']."</td>"; echo "<td>".$row['age']."</td>"; echo "<td>".$row['city']."</td>"; echo "</tr>"; } echo "</table>"; } catch (PDOException $e) { echo $e->getMessage(); } ?>
以上是php兩個表合併查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!