方法一(效率底) select A.* from 办卡 A where A.namedh not in (select namedh from 银行) 方法二(效率中) select A.* from 办卡 A left join 银行 b on A.namedh=B.namedh where B.namedh is null 方法三(效率高) select * from 办卡 A where (select count(1) as num from 银行 B where A.namedh
Oracle 中用一个表的数据更新另一个表的数据 分类: SQL/PLSQL2012-05-04 15:49 4153人阅读 评论(1) 收藏 举报 oraclemergesubqueryinsertnull 有下面两个表:将表tab1中id值与和表tab2中id值相同的行的val更新为tab2中val的值.select * from tab1; select * from tab2 最容易犯的错误是:update tab1 set val=(select val from tab2 where
1.说明 在做显示数据的时候,一个字段会存那种逗号分割的字符串,那如何去根据逗号分割字符串去查询另一个表的数据呢? 首先我们查看一下需要显示的数据 select * from company where f_id in ('','','') select * from company where f_id in ('210,205,208') 现在我要根据另一张模板表中的一个字段查询他下面的公司,存的是字符串类型 这时 select * from company where f_id in (s
sql语法:从一个表update到另外一个表 一. update a set a.name=b.name1 from a,b where a.id=b.id 二. update table1 set a.status = b.status from table1 a inner join table2 b on a.idl = b.idl
最近做一个项目,由于客户数据量大,为了不将数据彻底删除,于是将数据移动到历史表,原始表的数据删除.由于技术有限,想不到好的方法,于是写个存储过程 执行,为了防止执行过程中出现异常,执行不完整.用到hIbernate事务.下面是写的代码.sql存储过程写的很麻烦,希望能给点建议: CREATE PROCEDURE [dbo].[savetohistoryDel] --时间 ) AS BEGIN --插入作业到历史表 INSERT INTO inout_history_job ( jobid,job
1.如果是整个表复制表达如下: insert into table1 select * from table2 2.如果是有选择性的复制数据表达如下: insert into table1(column1,column2,column3...) select column1,column2,colunm3... from table2 3.一个数据库中的表中的数据复制到另一个数据库中的一个表,使用方法如下: insert into 数据库A.dbo.table1(col1,col2,col3.
一个表的导入: SET IDENTITY_INSERT [master_new].[dbo].[OpinionList] ON INSERT INTO [master_new].[dbo].[OpinionList](Id,Batch,LinkId,DB_Names,CreateTime) SELECT * FROM [DBA_DB].[dbo].[OpinionList] SET IDENTITY_INSERT [master_new].[dbo].[OpinionList] OFF GO 多
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; insert into insertTest select * from insertTest2; 2.如果只希望导
在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company where Companey.C_Id=Emp.C_Id 但是我们往往会碰到比较复杂的语句,这时候使用where就不太合适了,其实SQL可以用较为直接的形式进行连接操作,可以在From子句中以直接的形式指出: E_Id,E_Name,C_Name E_Id from Emp order by E_Id
在sql server中,update可以根据一个表的信息去更新另一个表的信息. 首先看一下语法: update A SET 字段1=B表字段表达式, 字段2=B表字段表达式 from B WHERE 逻辑表达式 下面看例子,前两天遇到这样一种情况:是表联合更新数据. 具体情况是这样的.有两个表,一个表是HotelInfo,一个是WorkeOrder,现在WorkeOrder表中缺少电话,需要根据HotelId来获取HotelTel,然后把电话给更新一下. 解决步骤: 1.先用表联合查
SQL:复制数据库某一个表到另一个数据库中 SELECT * INTO 表1 FROM 表2 --复制表2如果只复制结构而不复制内容或只复制某一列只要加WHERE条件就好了 例子:SELECT * INTO [IMCDB].[dbo].[SysLog] FROM [AimManageDB].[dbo].[SysLog] (将数据库AimManageDB中的SysLog表复制到数据库IMCDB中) 跨服务器复制表 select * INTO [SMSDB].[dbo].[SysLog] FROM
刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今天8时还是大前天8时到前天8时的时段雨量: select STCD,SUM(DRP) as drp2 from Jialiang.dbo.ST_PPTN_R where STCD'and TM>case ), , )), , )+' 8:00' end and TM<case ), )), , )
1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B = A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbdco
DELETE语句中指定多个表,根据多个表中的特定条件,从一个表或多个表中删除行. 不过,您不能在一个多表DELETE语句中使用ORDER BY或LIMIT. DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id; 如上删除两个两个数据表. DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id; delete a, b from a , b