寫sql的功夫低啊,得慢慢提高才行
今天看到一個,然後嘗試一下
表連線後做update
mysql> select * from b;
+---------------------+------+------+
| Time | id | test |
+---------------------+------+------+
| 2007-08-11 21:15:07 | 1 | NULL |
| 2007-08-11 21:15:09 | 2 | NULL |
| 2007-08-11 21:15:11 | 3 | NULL |
| 2007-08-13 19:49:32 | 4 | NULL |
| 2007-08-13 19:55:32 | NULL | NULL |
+---------------------+------+------+
5 rows in set (0.00 sec)
mysql> select * from a;
+---+------+------+
| a | c | id |
+---+------+------+
| 1 | 2 | 3 |
| 3 | 4 | 4 |
+---+------+------+
2 rows in set (0.00 sec)
mysql> update b inner join ( select * from a ) using (id) set test = 1;
ERROR 1248 (42000): Every derived table must have its own alias
mysql> update b inner join ( select * from a ) as chosen using (id) set test = 1;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from b;
+---------------------+------+------+
| Time | id | test |
+---------------------+------+------+
| 2007-08-11 21:15:07 | 1 | NULL |
| 2007-08-11 21:15:09 | 2 | NULL |
| 2007-11-15 11:49:39 | 3 | 1 |
| 2007-11-15 11:49:39 | 4 | 1 |
| 2007-08-13 19:55:32 | NULL | NULL |
+---------------------+------+------+
5 rows in set (0.00 sec)
直接像postgresql好像也可以,記得oracle不行的
mysql> select * from b;
+---------------------+------+------+
| Time | id | test |
+---------------------+------+------+
| 2007-08-11 21:15:07 | 1 | NULL |
| 2007-08-11 21:15:09 | 2 | NULL |
| 2007-11-15 11:49:39 | 3 | 1 |
| 2007-11-15 11:49:39 | 4 | 1 |
| 2007-08-13 19:55:32 | NULL | NULL |
+---------------------+------+------+
5 rows in set (0.00 sec)
mysql> update b,a set test = 0 where b.id = a.c;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from b;
+---------------------+------+------+
| Time | id | test |
+---------------------+------+------+
| 2007-08-11 21:15:07 | 1 | NULL |
| 2007-11-15 11:54:19 | 2 | 0 |
| 2007-11-15 11:49:39 | 3 | 1 |
| 2007-11-15 11:54:19 | 4 | 0 |
| 2007-08-13 19:55:32 | NULL | NULL |
+---------------------+------+------+
5 rows in set (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-144727/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 他們怎麼成的角兒啊,得挨多少打啊,得挨多少打啊!
- 菜得發慌啊
- 慢慢寫 十二重計數法
- mysql 索引巧用,SQL語句寫得忒野了MySql索引
- SQL Sever提權SQL
- 如何寫好 5000 行的 SQL 程式碼SQL
- 如何寫好5000行的SQL程式碼SQL
- 在Windows低許可權下利用服務進行提權Windows
- 慢慢來
- 自己動手寫SQL執行引擎SQL
- 得物直播低延遲探索 | 得物技術
- sql devloper 用法的和SQL 編寫SQLdev
- [提問交流]新手求助啊get_document_model方法在哪裡定義的?
- 原來寫部落格也是件累的事啊
- Sa提權Sql語句大全SQL
- [提問交流]OneThink支援 sql server?SQLServer
- 都說很簡單的Hogan,還是得看案例才能懂啊HOG
- 666行的象棋程式下得不錯啊
- 論文提綱寫作怎麼寫
- Python正在慢慢褪色Python
- [提問交流]請教[段落]是指的什麼?這個該如何應用啊
- vivo遊戲中心低程式碼平臺的提效秘訣遊戲
- 列出oracle dbtime得sql語句OracleSQL
- [提問交流]外掛商店 ( 你提需求 , 我寫程式碼 )
- 系統慢慢變壞的邏輯
- Oracle - 執行過的SQL、正在執行的SQL、消耗資源最多的SQLOracleSQL
- 用 DB::select 寫原生 SQL 一直報錯!記得開這個開關SQL
- 慢慢學(8.20--8.26)
- 今天寫了一個統計執行sql次數的指令碼SQL指令碼
- 啊吧啊吧
- MySQL的SQL等價改寫MySql
- 寫給過得很辛苦很迷茫的你~一定要看啊
- VC編寫多執行緒sql盲注工具.doc執行緒SQL
- TDengine 如何進行 SQL 寫入?官方最全教程來了SQL
- 行啊,人工智慧玩大了!人工智慧
- 如果讓你寫一個訊息佇列,該如何進行架構設計啊?佇列架構
- [提問交流]onethink 的資料庫設計是怎麼一回事啊資料庫
- 慢慢細談Android 面試的細節Android面試