精妙SQL语句介绍

来源:互联网 发布:软件项目实施计划书 编辑:程序博客网 时间:2024/05/01 19:38

 

http://www.net130.com  发布日期:2004-12-9

浏览次数: 1274

 

 出处:摘自互联网

 

说明:复制表(只复制结构,源表名:a 新表名:b)

  SQL: select * into b from a where 1<>1   

  说明:拷贝表(拷贝数据,源表名:a 目标表名:b)

  SQL: insert into b(a, b, c) select d,e,f from b;   

  说明:显示文章、提交人和最后回复时间

  SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b  

  说明:外连接查询(表名1a 表名2b)

  SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c   

  说明:日程安排提前五分钟提醒

  SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5   

  说明:两张关联表,删除主表中已经在副表中没有的信息

  SQL:

  delete from info where not exists ( select * from infobz where info.infid=infobz.infid )   

  说明:--

  SQL:

  SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE FROM TABLE1,(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND FROM TABLE2 WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X, (SELECT NUM, UPD_DATE, STOCK_ONHAND FROM TABLE2 WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') &brvbar;&brvbar; '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y, WHERE X.NUM = Y.NUM +AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B WHERE A.NUM = B.NUM   

  说明:--

  SQL:

  select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,高考总成绩

通配符的使用

select * from tablename order by cast(substring(字段,patindex('%[0123456789]%',字段),patindex('%[^0^1^2^3^4^5^6^7^8^9]%',字段)-1) as int)

^不属于

 

LIKE '5[%]' 5%

LIKE '[_]n' _n

LIKE '[a-cdf]' abcd f

LIKE '[-acdf]' -acd f

LIKE '[ [ ]' [

LIKE ']' ]

LIKE 'abc[_]d%' abc_d abc_de

LIKE 'abc[def]' abcdabce abcf

 

通配符

描述

示例

%

包含零个或更多字符的任意字符串。

WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。

_(下划线)

任何单个字符。

WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(DeanSean 等)。

[ ]

指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。

WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C P 之间的任何单个字符开始的作者姓氏,例如,CarsenLarsenKarsen 等。

[^]

不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。

WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。

原创粉丝点击