易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL谓词

1、谓词 谓词允许您构造条件,以便只处理满足这些条件的那些行。
2、使用 IN 谓词
使用 IN 谓词将一个值与其他几个值进行比较。例如:
SELECT NAME from STAFF WHERE DEPT IN (20, 15)
此示例相当于:
SELECT NAME from STAFF WHERE DEPT = 20 OR DEPT = 15
当子查询返回一组值时,可使用 IN 和 NOT IN 运算符。例如,下列查询列出负责项目 MA2100 和 OP2012 的雇员的姓:
SELECT LASTNAME from EMPLOYEE WHERE EMPNO IN (SELECT RESPEMP from PROJECT WHERE PROJNO='MA2100' OR PROJNO='OP2012')
计算一次子查询,并将结果列表直接代入外层查询。例如,上面的子查询选择雇员编号 10 和 330,对外层查询进行计算,就好象 WHERE 子句如下:
WHERE EMPNO IN (10, 330)
子查询返回的值列表可包含零个、一个或多个值。
3、使用 BETWEEN 谓词
使用 BETWEEN 谓词将一个值与某个范围内的值进行比较。范围两边的值是包括在内的,并考虑 BETWEEN 谓词中用于比较的两个表达式。
下一示例寻找收入在 $10,000 和 $20,000 之间的雇员的姓名:
SELECT LASTNAME from EMPLOYEE WHERE SALARY BETWEEN 10000 AND 20000
这相当于:
SELECT LASTNAME from EMPLOYEE WHERE SALARY >= 10000 AND SALARY <= 20000
下一个示例寻找收入少于 $10,000 或超过 $20,000 的雇员的姓名:
SELECT LASTNAME from EMPLOYEE WHERE SALARY NOT BETWEEN 10000 AND 20000
4、使用 LIKE 谓词
使用 LIKE 谓词搜索具有某些模式的字符串。通过百分号和下划线指定模式。
下划线字符(_)表示任何单个字符,百分号(%)表示零或多个字符的字符串。
任何其他表示本身的字符。
下列示例选择以字母\'S\'开头长度为 7 个字母的雇员名:
SELECT NAME from STAFF WHERE NAME LIKE \'S_ _ _ _ _ _\'
下一个示例选择不以字母\'S\'开头的雇员名:
SELECT NAME from STAFF WHERE NAME NOT LIKE \'S%\'
5、使用 EXISTS 谓词
可使用子查询来测试满足某个条件的行的存在性。在此情况下,谓词 EXISTS 或 NOT EXISTS 将子查询链接到外层查询。
当用 EXISTS 谓词将子查询链接到外层查询时,该子查询不返回值。相反,如果子查询的回答集包含一个或更多个行,则 EXISTS 谓词为真;如果回答集不包含任何行,则 EXISTS 谓词为假。
通常将 EXISTS 谓词与相关子查询一起使用。下面示例列出当前在项目(PROJECT) 表中没有项的部门:
SELECT DEPTNO, DEPTNAME from DEPARTMENT X WHERE NOT


相关文档:

SQL 判断身份证号码

现要求查询界面:不论15位或者18位身份证号都能查询出数据库中所有当前用户信息。
方案1:
create or replace function CONVERT_ID_15 (/*转换身份证号为15位*/
  p_id2 in varchar2
) return varchar2
is
  p_id varchar2(20);
  id varchar2(15);
begin
  p_id:=ltrim(p_id2);
  p_id ......

DB2 SQL存储过程语法

 背景:DB2的数据库性能很牛X,但是其文档却很差,尤其是开发参考文档,都是英文的,浏览的时候还很不好找,需要上IBM的网站看,网站也出奇的慢,极不方便,让开发人员举步维艰,这也许是IBM DB2的用户少,书少,资料少的原因。
------------------
创建SQL存储过程(CREATE PROCEDURE (SQL) stat ......

SQL注入

     sql注入,所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
  当应用程序使用输入内容来构造动 ......

sql语句,取出表A中的第31条到40条记录

 sql语句,取出表A中的第31条到40条记录(表A以自动增长的ID做主键,注意ID可能是不连续的)
-->select top 10 * from a where id not in (select top 30 id from a order by id) order by id
    查询前十条记录,但条件是:ID不在前三十条的ID里面
-->select top 10 * from (select top 40 ......

SQL日期和时间函数

 
--基于时间SQL函数--
getdate() --返回当前系统日期和时间。
DateAdd --在向指定日期加上一段时间的基础上,返回新的 datetime 值。
DATEADD ( datepart , number, date )
--例:向当天的时间增加5天
select dateadd(dd,5,getdate())
datediff --返回跨两个指定日期的日期和时间边界数。]
---例如
 & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号