中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

MySQL培训教程:查询数据命令

MySQL培训教程:查询数据命令,当数据库中存放了大量数据时,在SELECT语句的结果中分屏查找数据是非常麻烦的一件事情。有时,我们也不清楚所查询列的精确完整值是什么。这种情况下,可以使用LIKE操作符。假设books表中已经输入了数千条记录,一名顾客说他想查询某本书,但他并不记得书的作者名或标题,而只记得标题中的关键字traveler和winter。我们可以基于这些仅有的信息,通过如下SQL语句查询数据库:

  1. SELECT book_id, title,  
  2. CONCAT(author_?rst, ' ', author_last) AS author  
  3. FROM books  
  4. JOIN authors USING(author_id)  
  5. WHERE title LIKE '%traveler%' 
  6. AND title LIKE '%winter%';  
  7.  
  8. +---------+-----------------------------------+---------------+  
  9. | book_id | title | author |  
  10. +---------+-----------------------------------+---------------+  
  11. | 1400 | If on a winter's night a traveler | Italo Calvino |  
  12. +---------+-----------------------------------+---------------+ 

在LIKE操作符后,我们使用了二次通配符%表示我们将查询这些行,该行的title列的值包含字符串traveler,traveler前可以有零个或多个字符(前一个%),traveler后也可跟着零个或更多的字符(结尾处的%)。换种说法,单词traveler必须包含在列的值中。子句的下一部分表示winter也要包含在同一列的值中。另外,LIKE关键字与等号一样,它们都是操作符。

如果另一顾客要求我们在数据库中查询GrahamGreene的作品中标题包含单词Stamboul或Orient的图书信息,可以按照如下所示,在表达式中使用OR操作符:

  1. SELECT book_id, title  
  2. FROM books  
  3. WHERE author_id = 1  
  4. AND title LIKE '%Stamboul%' 
  5. OR author_id = 1  
  6. AND title LIKE '%Orient%'

既然我们已经知道了作者的标识码,上面的语句就变得更简洁了,只对一个表操作就可以。值得注意的是,在每个表达式中都要指定author_id的值,否则我们可能会得到其他作者的作品名中包含查询字符的图书信息。关于操作符的更多信息,可参见附录B。在第6章中可以看到更多的示例以及搜索数据的可行方法。

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页