My SQL数据库实用技术(04)
时间:2007-12-23 来源:不详 作者:迈克DB
大小写。MySQL 答应您一次从多个表中选择列。我们将这个内容留到“从多个表中检索信息”小节去介绍。
1. 指定检索条件
为了限制SELECT 语句检索出来的记录集,可使用WHERE 子句,它给出选择行的条件。可通过查找满足各种条件的列值来选择行。
可查找数字值:
也可以查找串值。(注重,一般串的比较是不区分大小写的。)
可以查找日期值:
可搜索组合值:
WHERE 子句中的表达式可使用表1-1 中的算术运算符、表1-2 的比较运算符和表1-3 的逻辑运算符。还可以使用圆括号将一个表达式分成几个部分。可使用常量、表列和函数来完成运算。在本教程的查询中,我们有时使用几个MySQL 函数,但是MySQL 的函数远不止这里
给出的这些。请参阅附录C,那里给出了所有MySQL 函数的清单。
dedecms.com
在用表达式表示一个需要逻辑运算的查询时,要注重别混淆逻辑与运算符与我们平常使用的“与”的含义。假如希望查找“出生在Vi rginia 的总统与出生在Maryland 的总统”。应该注重怎样表示“与”的关系,能写成如下的查询吗?
错了,因为这个查询的意思是“选择既出生在Vi rginia 又出生在M a r y l a n d的总统”,不可能有同时出生在两个地点的总统,因此这个查询无意义。在英语中,可以用“a n d”表示这种选择,但在SQL 中,应该用OR 来连接两个条件,如下所示:
这有时是可以觉察到的,不仅仅是在编写自己的查询时可以觉察到,而且在为他人编写查询时也可以知道。最好是在他人描述想要检索什么时仔细听,但不一定使用相同的逻辑运算符将他人的描述转录成SQL 语句。对刚才所举的例子,正确的英语等价描述为“选择出生在Vi rginia 或者出生在Maryland 的总统。”
2. NULL 值
NULL 值是非凡的;因为它代表“无值”。不可能以评估两个已知值的相同方式来将它与已知值进行评估。假如试图与通常的算术比较运算符一道使用N U L L,其结果是未定义的:
本文来自织梦
为了进行NULL 值的搜索,必须采用非凡的语法。不能用= 或!= 来测试等于NULL 或不等于N U L L,取而代之的是使用IS NULL 或IS NOT NULL 来测试。例如,因为我们将健在总统的死亡日期表示为N U L L,那么可按如下语句查找健在的总统:
MySQL3.23 及以后的版本具有一个非凡的MySQL 专有的比较运算符“ < = >”,即使是NULL 与NULL 的比较,它也是可行的。用这个比较运算符,可将前面的两个查询重写为:
上一篇:My SQL数据库实用技术(02) 下一篇:My SQL数据库实用技术(03)
文章评论
共有位Admini5网友发表了评论 查看完整内容