用于一些有用SQL语句的sql高级技术

1。例如,有两个表A(字段1、字段2、字段3)、B(字段2、字段3),其中存储的数据如下所示
表一




1场
2场
3场



1部分内容



1部分内容



2部分内容





2部分内容



3部分的内容



4部分内容



5部分内容



5部分内容



5部分内容



6部分内容



7部分内容



8部分内容



8部分内容



8部分内容



8部分内容
表B




2场
3场

wdz1
1部分内容

wdz2
3部分的内容

wdz3
5部分内容

wdz4
6部分内容

wdz5
7部分内容

wdz6
8部分内容
使用以下SQL语句(将表A中字段2的3填充到表B中的字段3到表A的字段2)
更新表1设置字段1 =(从表2选择字段1,表1。字段3 =表2。现场3)
结果见下表
表的结果




1场
2场
3场


wdz1
1部分内容


wdz1
1部分内容



2部分内容





2部分内容


wdz2
3部分的内容



4部分内容


wdz3
5部分内容


wdz3
5部分内容


wdz3
5部分内容


wdz4
6部分内容


wdz5
7部分内容


wdz6
8部分内容


wdz6
8部分内容


wdz6
8部分内容


wdz6
8部分内容
以下是本文中SQL语句的注释
一、蒋倩帆
更新表1设置字段1 =(从表2选择字段1,表1。字段3 =表2。现场3)
效率很低。如果你有一个X的记录,这使得查询执行X次。
如果我们写这个,我们可以充分利用索引(如果两个表在字段3上有索引),避免不必要的执行。
表1的表1,表1,字段2 =表2。表1表1中的内部联接表2字段2。字段3 =表2。3场

网友意见总结。

2。例如,如果第一个点中的表A是相同的,则需要查询表A的重复数据的SQL语句如下所示
由字段1计数的表A组的选择字段1(字段3)> 1
查询结果如下
表查询结果




1场







83,例如,我们需要查询一个固定的物理路径在SQL Server2000的x1.dbf文件。SQL语句如下(我们必须首先安装VF驱动程序来使用这个SQL语句)。
SELECT * FROM OPENDATASOURCE('vfpoledb。1、用户ID =;DSN =;整理顺序=机;数据源= C: dbffiles x1.dbf;源= C: dbffiles x1.dbf;序列=机;玉;玉;卫;威;威;玉)。
注:其他非VF数据库文件是类似的查询,只在OPENDATASOURCE设置参数。参数描述为OPENDATASOURCE(数据源驱动程序名称、数据源连接字符串)