首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 兩表查詢結果合併插入新表:INNER JOIN 建表範例

     編輯:MySQL 綜合教學

前言

需將兩張表關聯查詢的結果直接建立為新表。本文示範 CREATE TABLE ... SELECT ... INNER JOIN 一條指令完成「關聯查詢 + 建表 + 資料寫入」。

資料範例

表 A

+----+------+------+
| id | user | info |
+----+------+------+
| 1  | u1   | 991  |
| 3  | u3   | 113  |
+----+------+------+

表 B

+----+------+----+-----+
| id | user | pw | pw2 |
+----+------+----+-----+
| 1  | u1   | p1 | p12 |
| 2  | u2   | p2 | p22 |
| 3  | u3   | p3 | p32 |
+----+------+----+-----+

期望結果(新表)

+----+------+----+-----+------+
| id | user | pw | pw2 | info |
+----+------+----+-----+------+
| 1  | u1   | p1 | p12 | 991  |
| 3  | u3   | p3 | p32 | 113  |
+----+------+----+-----+------+

邏輯:INNER JOIN 於 id,僅保留兩表都有的 id(排除 B 表 id=2)。

一條指令完成

CREATE TABLE `jieguo2` 
SELECT t1.id, t1.user, t1.pwd, t1.pwd2, t2.user2, t2.info
FROM t1
INNER JOIN t2 ON t1.id = t2.id;

關鍵點

  • CREATE TABLE new_table SELECT ... 同時建立結構與寫入資料。
  • 新表欄位順序、類型依 SELECT 列表推導。
  • INNER JOIN 實現「交集」邏輯,自動過濾單邊獨有資料。
  • 若需保留單邊資料,改用 LEFT JOIN。

進階:指定引擎與字符集

CREATE TABLE `jieguo2` ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
SELECT t1.id, t1.user, t1.pwd, t1.pwd2, t2.user2, t2.info
FROM t1
INNER JOIN t2 ON t1.id = t2.id;

相關延伸閱讀

  • 查看 MySQL 表結構指令
  • MySQL 日期格式轉換函數
  • MySQL 查詢漢字拼音首字母
  • MySQL 隨機查詢優化實例
  • MySQL 查詢快取變數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved