中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle菜鳥學習之 復雜的更新語句使用

發布時間:2020-07-03 01:06:47 來源:網絡 閱讀:625 作者:運維少年 欄目:關系型數據庫

oracle菜鳥學習之 復雜的更新語句使用

實例與答案

問題:表T1里有a,b,c...N個字段,表T2里有a,b,c三個字段,然后想在T1中"c"與表T2中"c"相同的情況下,從表T2中將a,b覆蓋表T1中的a,b,怎么做?

實驗表:

create table T1(a int,b int,c int,d int,e int);
create table T2(a int,b int,c int);
insert into T1 values(1,2,3,4,5);
insert into T1 values(10,20,3,4,5);
insert into T1 values(10,20,4,40,50);
insert into T2 values(-1,-1,3);
insert into T2 values(-2,-2,4);

查看表:

SQL> select * from T1;

     A      B          C      D      E
---------- ---------- ---------- ---------- ----------
     1      2          3      4      5
    10     20          3      4      5
    10     20          4     40     50

SQL> select * from T2;

     A      B          C
---------- ---------- ----------
    -1     -1          3
    -2     -2          4

SQL> 

思路:
更新數據的基本語句

update T1 set a=?,b=? where ?

怎么選出a呢?

SQL> select a.a from T2 a,T1 b where a.c=b.c;

     A
----------
    -1
    -1
    -2

SQL> 

同樣可以選出b

SQL> select a.b from T2 a,T1 b where a.c=b.c;

     B
----------
    -1
    -1
    -2

SQL> 

where是什么?怎么從集合中取出唯一的值?

SQL> update T1 set a=(select a from T2 where T1.c=T2.c),b=(select b from T2 where T1.c=T2.c) where T1.c in (select c from T2);

3 rows updated.

SQL> 

查看結果

SQL> select * from T1;

     A      B          C      D      E
---------- ---------- ---------- ---------- ----------
    -1     -1          3      4      5
    -1     -1          3      4      5
    -2     -2          4     40     50

SQL> 
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲阳县| 红河县| 晋中市| 延吉市| 泾川县| 东乌珠穆沁旗| 和静县| 象州县| 佛学| 当涂县| 法库县| 玛纳斯县| 英德市| 延长县| 舟曲县| 葫芦岛市| 陆良县| 宜君县| 富民县| 平凉市| 靖边县| 阿克| 景宁| 囊谦县| 娱乐| 凤庆县| 蕉岭县| 延川县| 屯昌县| 垫江县| 建阳市| 沧源| 双流县| 龙游县| 肃南| 威宁| 南安市| 麻栗坡县| 建平县| 雷山县| 图片|