SQL:经典语句大全
4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)
5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
9、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )
11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
--"
数据库"选择执行命令的数据库
--"
命令"中输入要执行的语句: exec p_process
--
确定
--"
调度"项
--
新建调度
--"
名称"中输入调度名称
--"
调度类型"中选择你的作业执行安排
--
如果选择"反复出现"
--
点"更改"来设置你的时间安排
?
?
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
?
设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
?
?
--3.
实现同步处理的方法2,定时同步
?
--
在srv1中创建如下的同步处理存储过程
create proc p_process
as
--
更新修改过的数据
update b set name=i.name,telphone=i.telphone
from srv2.
库名.dbo.author b,author i
where b.id=i.id and
(b.name <> i.name or b.telphone <> i.telphone)
?
--
插入新增的数据
insert srv2.
库名.dbo.author(id,name,telphone)
select id,name,telphone from author i
where not exists(
select * from srv2.
库名.dbo.author where id=i.id)
?
--
删除已经删除的数据(如果需要的话)
delete b
from srv2.
库名.dbo.author b
where not exists(
select * from author where id=b.id)
go
??????? "ADDR" NVARCHAR2(16
那么修改如下:
SQL> SET LONG 9999
SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST') FROM DUAL;
则显示如下的结果:
DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST')
------------------------------------------
? CREATE TABLE "SCOTT"."NCHAR_TST"
?? (??? "NAME" NCHAR(6),
??????? "ADDR" NVARCHAR2(16),
??????? "SAL" NUMBER(9,2)
?? ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING
? STORAGE(INITIAL 12288 NEXT 12288 MINEXTENTS 1 MAXEXTENTS 249 PCTINCREASE 50
? FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM"
?