Mysql跨表更新 多表update sql語句總結
假定我們有兩張表,一張表為Product表存放產品資訊,其中有產品價格列Price;另外一張表是ProductPrice表,我們要將ProductPrice表中的價格欄位Price更新為Price表中價格欄位的80%。
在Mysql中我們有幾種手段可以做到這一點,一種是update table1 t1, table2 ts ...的方式:
複製程式碼 程式碼如下:
UPDATE product p, productPrice pp
SET pp.price = pp.price * 0.8
WHERE p.productId = pp.productId
AND p.dateCreated
另外一種方法是使用inner join然後更新:
複製程式碼 程式碼如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated
另外我們也可以使用left outer join來做多表update,比方說如果ProductPrice表中沒有產品價格記錄的話,將Product表的isDeleted欄位置為1,如下sql語句:
複製程式碼 程式碼如下:
UPDATE product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
SET p.deleted = 1
WHERE pp.productId IS null
另外,上面的幾個例子都是兩張表之間做關聯,但是隻更新一張表中的記錄,其實是可以同時更新兩張表的,如下sql:
複製程式碼 程式碼如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8,
p.dateUpdate = CURDATE()
WHERE p.dateCreated
兩張表做關聯,更新了ProductPrice表的price欄位和Product表欄位的dateUpdate兩個欄位。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2803987/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL -update語句流程總結MySql
- MySQL基本sql語句總結MySql
- ORACLE多表關聯UPDATE語句Oracle
- 【SQL】10 SQL UPDATE 語句SQL
- SQL單表查詢語句總結SQL
- Oracle\MS SQL Server Update多表關聯更新OracleSQLServer
- SQL語句規範總結SQL
- sql語句學習總結SQL
- 手擼Mysql原生語句--多表MySql
- MySql常用操作SQL語句彙總MySql
- 多表查詢建表語句
- MySQL的update語句避坑MySql
- MySQL 52個SQL效能優化策略SQL語句彙總MySql優化
- mysql支援跨表delete刪除多表記錄MySqldelete
- MYSQL SQL語句優化MySql優化
- 一條update SQL語句是如何執行的SQL
- MySQL複製表結構和內容到另一張表中的SQL語句MySql
- excel表結構生成powerDesigner模型,生成建表語句sqlExcel模型SQL
- 複製表結構和資料SQL語句SQL
- mysql建表常用sql語句個人經驗分享MySql
- Mysql 52條SQL語句效能優化策略彙總MySql優化
- sql語句小技巧-持續更新SQL
- MySQL日誌(一條sql更新語句是如何執行的)MySql
- mysql 常用sql語句 簡介MySql
- MySQL中常用的SQL語句MySql
- MySQL之SQL語句優化MySql優化
- MySQL指南之SQL語句基礎MySql
- mysql的sql語句執行流程MySql
- MySql和簡單的sql語句MySql
- mysql執行sql語句過程MySql
- Mybatis連線池_動態sql語句_多表查詢實現MyBatisSQL
- Oracle行轉列、列轉行的Sql語句總結OracleSQL
- sql查詢更新update selectSQL
- 賓語從句總結
- MySQL檢視建表語句MySql
- MySQL中UPDATE語句裡SET後使用AND的執行過程和結果分析MySql
- sql語句左連結left join--3張表關聯SQL
- mysql查詢效率慢的SQL語句MySql