简单查询:SQL单表查询处理

发表时间:2011-07-19 21:24 | 分类:其他知识 | 浏览:288 次

单表查询的步骤:

1、从FROM子句中提到的表开始;

2、如果有一条WHERE子句,将它的搜索条件应用到表的每一条记录,保留搜索条件为TRUE的那条记录,并去掉搜索条件为FALSE和NULL的那些记录;

3、对每条保留的记录,计算选择列表中每项的值,以生成一条查询结果记录。对于每个字段引用,使用当前记录中字段的值;

4、如果指定了SELECT DISTINCT,消除所生成的查询结果中的任何重复记录;

5、如果有一条ORDER BY子句,按指定的顺序排序查询结果;

SQL的搜索条件

1、比较测试:(=,<>,<,<=,>,>=)

select * from A where B>C

依据ANSI/ISO SQL规范,不等比较测试被写成“A<>B”,但是有些数据库使用的是“A!=B”。一个搜索条件可以产生TRUE,FALSE或NULL值,只有搜索条件产生TRUE的那些记录才被包含在查询结果中。

2、范围测试:(NOT)BETWEEN...AND...

select * from A where B between C and D

BETWEEN的测试包括范围的端点,以上语句相当于:

select * from A where B>=C and B<=D

3、组成员测试:(NOT)IN

select * from table where X in (A,B,C,D)

4、模式匹配测试:LIKE

select * from table where A like '%XXX%'

通配符:(%:匹配任何顺序的0个或者多个字符);(_:匹配任何单个字符);

转义字符*:在搜索条件的ESCAPE子句中,转义字符被指定为单字符常量字符串:

like 'A$B%BC%' escape '$'            :“A%BC”开头

5、NULL值测试:IS NULL

select * from table where A is null;

NULL值测试不生成NULL值,它总是生成TRUE或FALSE。

6、复合搜索条件:AND、OR、NOT

AND、OR、NOT的真值表:

AND的真值表
AND TURE FALSE NULL
TRUE TURE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL
OR的真值表
OR TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL
NOT的真值表
NOT TRUE FALSE NULL
FALSE TRUE NULL

本文标签:

本文链接:http://www.sijitao.net/475.html

本文版权虫虫开源所有,欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

一键脚本 SSH攻击 IP查询 博客历程 留言本 文章归档 网站地图 谷歌地图
托管于阿里云&七牛云. 已加入博客联盟. 浙ICP备13025236号.
Copyright © 2010-2016 虫虫开源 All Rights Reserved.