程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql中insert與select的嵌套應用辦法

mysql中insert與select的嵌套應用辦法

編輯:MySQL綜合教程

mysql中insert與select的嵌套應用辦法。本站提示廣大學習愛好者:(mysql中insert與select的嵌套應用辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql中insert與select的嵌套應用辦法正文


本文講述了mysql中insert與select的嵌套應用的辦法,關於初學MySQL的同伙有必定的自創價值。

這裡須要完成在mysql從多個表中組合字段然後拔出到一個新表中,經由過程一條sql語句完成該功效需求。詳細情況是:有三張表a、b、c,如今須要從表b和表c平分別查幾個字段的值拔出到表a中對應的字段。關於這類情形,我們可使用以下的語句來完成:

INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name

固然,下面的語句比擬合適兩個表的數據互插,假如多個表就不順應了。關於多個表,我們可以先將須要查詢的字段join起來,然後構成一個視圖後再select from便可以了,sql代碼以下所示:

INSERT INTO a(field1,field2) SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb

個中f1是表b的字段,f2是表c的字段,經由過程join查詢就將分離來自表b和表c的字段停止了組合,然後再經由過程select嵌套查詢拔出到表a中,如許就知足了我們這個場景了,假如須要不止2個表,那末可以多個join的情勢來組合字段。須要留意的是嵌套查詢部門最初必定要有設置表別號,以下:

SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb

即最初的as tb是必需的(固然tb這個稱號可以隨便取),即指定一個體名,不然在mysql中會報以下毛病:

ERROR 1248 (42000): Every derived TABLE must have its own alias

即每一個派生出來的新表都必需指定別號才可以的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved