數據庫MySQL中關於“多表關聯更新”的那些事


  在常見的sql中,我們經常在查詢中進行多表關聯查詢,用的比較熟練。今天在開發中遇到一個實際業務場景是多表關聯更新,一時不知所措。本着多學習的態度,沒有直接寫java代碼去實現,終於把多表關聯更新的sql弄清楚了。下面將實際業務場景進行簡化,分別有person表和information表,最終目的是將 information表中的年齡更新到person表中的每個人的年齡。分別寫了幾個sql demo來把多表更新的知識理解透徹。

  首先,在更新前,person表和information表分別如下:

information表

 person表

1. CASE1

  sql :update information,person SET information.phone='13812345678',person.age = '18' WHERE information.name = person.name

  更新后的information表和person表分別如下

         

  當然,還有一種方式可以實現上面的功能

  sql:UPDATE information JOIN person on information.name = person.name SET information.phone='13811111111',person.age = '18'

  或者是

  sql:UPDATE information LEFT JOIN person on information.name = person.name SET information.phone='13811111111',person.age = '18'

2.  CASE2  

  sql:UPDATE information RIGHT JOIN person on information.name = person.name SET information.phone='13922222222',person.age = '19'

  更新后的information表和person表分別如下

      

 3.  CASE3

  sql:  UPDATE information JOIN person on information.name = person.name SET information.age=person.age

     

 

   通過上述幾個例子,相信關於多條關聯更新的分析應該是比較透徹了。多學習,多成長。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM