国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql高級技巧幾個有用的Sql語句

2020-07-25 13:37:11
字體:
來源:轉載
供稿:網友
1、例如:有兩個表A(字段1,字段2,字段3)、B(字段2,字段3),其中存儲數據如下所示
表A
字段1字段2字段3
1<Null>地段內容1
1<Null>地段內容1
2<Null>地段內容2
2<Null>

地段內容2

3<Null>地段內容3
4<Null>地段內容4
5<Null>地段內容5
5<Null>地段內容5
5<Null>地段內容5
6<Null>地段內容6
7<Null>地段內容7
8<Null>地段內容8
8<Null>地段內容8
8<Null>地段內容8
8<Null>地段內容8

表B
字段2字段3
wdz1地段內容1
wdz2地段內容3
wdz3地段內容5
wdz4地段內容6
wdz5地段內容7
wdz6地段內容8

使用下面的Sql語句(可以達到將表A中字段3與表B中字段3相同的數據字段2填充到表A中的字段2)
update 表1 set 字段1 = (select 字段1 from 表2 where 表1.字段3=表2.字段3)
結果如下表所示
表A結果
字段1字段2字段3
1wdz1地段內容1
1wdz1地段內容1
2<Null>地段內容2
2<Null>

地段內容2

3wdz2地段內容3
4<Null>地段內容4
5wdz3地段內容5
5wdz3地段內容5
5wdz3地段內容5
6wdz4地段內容6
7wdz5地段內容7
8wdz6地段內容8
8wdz6地段內容8
8wdz6地段內容8
8wdz6地段內容8

下面是本條Sql語句的網友意見
一、“江千帆”
update 表1 set 字段1 = (select 字段1 from 表2 where 表1.字段3=表2.字段3)
的效率很低,如果有X條記錄,會導致子查詢執行X次.
如果我們這樣寫,就可以充分利用索引(如果兩表在字段3上面都建立了索引),并且避免不必要的多次執行。
update 表1 set 表1.字段2 =表2.字段2 from 表1 inner join 表2 on 表1.字段3=表2.字段3

網友意見歸納結束。

2、例如:如第1點中的表A相同,需要查詢出表A的重復數據的Sql語句如下
select 字段1 from 表A group by 字段1 having count(字段3) > 1
查詢結果如下
表A查詢結果
字段1
1
2
5
8
3、例如:需要在Sql Server2000中查詢處某固定物理路徑的X1.dbf文件,使用的Sql語句如下(必須先安裝VF驅動才能使用此Sql語句)
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數據庫文件的查詢類似,只需要設置OpenDataSource中的參數即可。參數說明為OpenDataSource(數據源驅動名,數據源連接字符串)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸丰县| 兰州市| 玉屏| 色达县| 大悟县| 辉县市| 高邮市| 郑州市| 沙田区| 和静县| 承德县| 凤翔县| 关岭| 蒙自县| 麻栗坡县| 博兴县| 明星| 抚顺县| 桃源县| 灯塔市| 青河县| 新余市| 石河子市| 山西省| 平安县| 香河县| 托里县| 安徽省| 海兴县| 舟山市| 望都县| 遂溪县| 永仁县| 本溪| 兰坪| 敦煌市| 台山市| 岳阳市| 册亨县| 闵行区| 蛟河市|