SELECT查询的应用(一)

2016-01-29 16:15 11 1 收藏

SELECT查询的应用(一),SELECT查询的应用(一)

【 tulaoshi.com - SQLServer 】

  比如我们要从很多文章的标题中找到所有包含"MySQL"这个字眼的文章。这就应该在 WHERE 子句中用到 "LIKE",就是模糊查询。
  首先交待一下SQL语言中的统配符,统配符就是用一个字符统一匹配任何字符,SQL中,一个字符"_"匹配单个的任何字符;一个字符"%"匹配任何零个到多个字符。举例来说,"A_" 可以匹配诸如 "AA"、"AB"、"A2"、"A$"……等等;而 "A%" 可以匹配 "ABCD"、"A"、"AG$Bng0"、"An apple is just an apple."……等等。
  怎么用呢?还是举个实际的例子:工厂仓库里的东东,很多、很杂,要分成几大类来管理:比如A类代表机配件,B类代表工具,C类代表包装材料……等等,每一类下面的东东再分别编号,如"A0001"、"A1065"、"B1014"等。在管理这个数据库的时候,编号作为一个字段,这个字段不仅作为该物品的代号,同时也表明了它的类别。当你要查询所有的工具时,可以这样:

SELECT * FROM goods WHERE code LIKE 'B%' ORDER BY code'

这样就是查询code这个字段(就是编号)为字母B打头的所有记录。注意这里'B%'表示字母B是出现在字段的开头,与下一个例子不同:查找文章标题中含有"MySQL"这个字眼的所有文章,因为要查找的目标"MySQL"不一定出现在文章标题的什么位置上,所以应该:

SELECT * FROM articles WHERE title LIKE '%MySQL%'

'%MySQL%'的意思是"MySQL"这个字眼出现在标题中,它的前面可能有文字,后面也可能有文字。
  既然查"MySQL"可以,查别的字眼未尝不可以。可以让浏览者自己输入他要搜索的关键字,就是这样:

<!--input.php:--
<form method="get" action="search.php"
关键字:<input type="text" size=10 name="key" <input type="submit" value="查询"
</form

<!--search.php:--
<?
...
$query="select * from article where title like '%$key%'";
$result=$mysql_query($query,$db);
...
?

  注意在使用模糊查询时,有一种情况应该小心,就是当一个字段是类似 '2,13,25,33' 这样的值时,若要查询它其中是否包含'2'这一项,就不能简单的用 '%2%' 来查询。因为如果这样,一个这样的值也会被查询到:'1,6,21,27'。这并不是我们所希望的。所以在处理这样的问题时,应该将该字段存为 '.2.13.25.33.' 的形式。这样当需要查询包含'2'这一项的记录,就可以放心的用 '%.2.%' 了。


  时间仓促,草草成稿;如有不确,务请指正。 

来源:http://www.tulaoshi.com/n/20160129/1498062.html

延伸阅读
标签: SQLServer
SQL五个集合函数:SUM,AVG,COUNT,MAX,MIN 通配符的一些用法:(关键字:like % [] -) select * from tablename where column1 like ’[A-M]%’ 这样可以选择出column字段中首字母在A-M之间的记录 select * from tablename where column1 li...
标签: Delphi
  Form中的Select控件不支持对选择项(Option)的排序,下面我将对Option中value属性值进行排序,并调整每个Option排序后的位置,具体代码如下(这里假设每个Option中的value与其中的text内容相同):   该函数运用了Array(数组)对象的排序(sort)方法,实现了Select排序。 function sortMe(oSel){ var ln = oSel.options.le...
标签: 电脑入门
一、Select Case语法及参数介绍 Select Case testexpression [Case expressionlist-n [statements-n]] ... [Case Else [elsestatements]] End Select Select Case 语句的语法具有以下几个部分: testexpression 必要参数。任何数值表达式或字符串表达式。 expressionlist-n 如果有 Case 出现,则为必要参数。其形式为 expression,exp...
路况查询应用帮你查:路况信息应用横向评测 不怕堵车 对于驾车族们来说,上下班高峰期被夹在路上的时候你是不是在后悔走这条路呢?也许稍微绕下道就不会出现堵车的情况了。驾车族们很多时候是通过交通电台来了解路况,但是有时候因为电台中夹杂的广告以及主持人等问题你也并不能第一时间掌握准确的路况信息,往往等你开过去的时候堵车的悲...
标签: SQLServer
很多时候我们都需要覆制某 Table 的结构,而使用 SQL Server 的话当然可以找 Enterprise Manager 来解决这问题,但在操作上老是感到比较烦覆。 其实我只需要一句 SQL 语言便能较易地覆制 Table 的结构,例如我们要覆制 Orders 到 OrderHistory 的语法如下: SELECT * INTO OrderHistory FROM Orders WHERE 0 = 1 由於 0 永远都不会等於 1 ...

经验教程

609

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部