sql高級技巧幾個有用的Sql語句
發(fā)布日期:2022-02-03 09:27 | 文章來源:gibhub
表A
字段1 | 字段2 | 字段3 |
1 | <Null> | 地段內(nèi)容1 |
1 | <Null> | 地段內(nèi)容1 |
2 | <Null> | 地段內(nèi)容2 |
2 | <Null> |
地段內(nèi)容2 |
3 | <Null> | 地段內(nèi)容3 |
4 | <Null> | 地段內(nèi)容4 |
5 | <Null> | 地段內(nèi)容5 |
5 | <Null> | 地段內(nèi)容5 |
5 | <Null> | 地段內(nèi)容5 |
6 | <Null> | 地段內(nèi)容6 |
7 | <Null> | 地段內(nèi)容7 |
8 | <Null> | 地段內(nèi)容8 |
8 | <Null> | 地段內(nèi)容8 |
8 | <Null> | 地段內(nèi)容8 |
8 | <Null> | 地段內(nèi)容8 |
表B
字段2 | 字段3 |
wdz1 | 地段內(nèi)容1 |
wdz2 | 地段內(nèi)容3 |
wdz3 | 地段內(nèi)容5 |
wdz4 | 地段內(nèi)容6 |
wdz5 | 地段內(nèi)容7 |
wdz6 | 地段內(nèi)容8 |
使用下面的Sql語句(可以達到將表A中字段3與表B中字段3相同的數(shù)據(jù)字段2填充到表A中的字段2)
update 表1 set 字段1 = (select 字段1 from 表2 where 表1.字段3=表2.字段3)
結(jié)果如下表所示
表A結(jié)果
字段1 | 字段2 | 字段3 |
1 | wdz1 | 地段內(nèi)容1 |
1 | wdz1 | 地段內(nèi)容1 |
2 | <Null> | 地段內(nèi)容2 |
2 | <Null> |
地段內(nèi)容2 |
3 | wdz2 | 地段內(nèi)容3 |
4 | <Null> | 地段內(nèi)容4 |
5 | wdz3 | 地段內(nèi)容5 |
5 | wdz3 | 地段內(nèi)容5 |
5 | wdz3 | 地段內(nèi)容5 |
6 | wdz4 | 地段內(nèi)容6 |
7 | wdz5 | 地段內(nèi)容7 |
8 | wdz6 | 地段內(nèi)容8 |
8 | wdz6 | 地段內(nèi)容8 |
8 | wdz6 | 地段內(nèi)容8 |
8 | wdz6 | 地段內(nèi)容8 |
下面是本條Sql語句的網(wǎng)友意見
一、“江千帆”
update 表1 set 字段1 = (select 字段1 from 表2 where 表1.字段3=表2.字段3)
的效率很低,如果有X條記錄,會導致子查詢執(zhí)行X次.
如果我們這樣寫,就可以充分利用索引(如果兩表在字段3上面都建立了索引),并且避免不必要的多次執(zhí)行。
update 表1 set 表1.字段2 =表2.字段2 from 表1 inner join 表2 on 表1.字段3=表2.字段3 網(wǎng)友意見歸納結(jié)束。
2、例如:如第1點中的表A相同,需要查詢出表A的重復數(shù)據(jù)的Sql語句如下
select 字段1 from 表A group by 字段1 having count(字段3) > 1
查詢結(jié)果如下
表A查詢結(jié)果
字段1 |
1 |
2 |
5 |
8 |
select * from OpenDataSource('VFPOLEDB.1','User ID=;DSN=;Collating Sequence=MACHINE;Data Source=C:\dbfFiles\X1.dbf;Password=;Cache Authentication=False;Mask Password=False;Mode=Share Deny None;Extended Properties=;Encrypt Password=False')...X1
注:其他的非VF數(shù)據(jù)庫文件的查詢類似,只需要設置OpenDataSource中的參數(shù)即可。參數(shù)說明為OpenDataSource(數(shù)據(jù)源驅(qū)動名,數(shù)據(jù)源連接字符串)
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章