专栏首页日常撸知识MySQL 组合查询及全文本搜索

MySQL 组合查询及全文本搜索

一、组合查询(union)指执行多个查询并将结果作为单个查询结果集返回。

使用union的规则:1.两条或两条以上的select语句;2.每个select语句必须包含相同的列,表达式或聚集函数;3.这些列可以以不同的次序出现;4.列的数据必须兼容。

SELECT vend_id,prod_id,prod_price from products where prod_price<=5

UNION

SELECT vend_id,prod_id,prod_price from products where prod_id in (1001,1002);

UNION 会自动去除掉重复的行。如果使用UNION ALL则不会去除掉重复的行;若需要排序,只需要在最后一条语句加上order by即可。

二、全文本搜索MySQL最常用的两个引擎,MyISAM和InnoDB,其中MyISAM支持全文本搜索,InnoDB不支持全文本搜索。全文本搜索相对于like和_通配符以及正则匹配有三大优势:性能,明确控制,智能化结果。

全文本语句表达式如下,使用Match()指定被搜索的列,使用Against()指定要使用的搜索表达式。搜索时不区分大小写。

SELECT note_text FROM productnotes WHERE Match(note_text) Against('rabbit');

全文本搜索一个重要的部分就是对结果进行排序,具有较高等级的先返回。

SELECT note_text,Match(note_text) Against('rabbit') as rank_1 FROM productnotes;

三、布尔全文本搜索可以提供关于细节:要匹配的词;要排斥的词;排列提示(指定某些词比其他词更重要);表达式分组等。

操作符如图:

以下语句匹配包含heavy但不包任意以rope开始的词的行:

SELECT note_text FROM productnotes where Match(note_text) Against ('heavy -rope' IN BOOLEAN MODE);

全文本搜的说明:

  1. 短词(3个或3个一下字符的词)被搜索忽略;
  2. 如果一个词出现在50%的行中,则将他作为一个非用词忽略;
  3. 对于少于3行的表将不会返回结果;
  4. 忽略单词中的单引号(don't变为dont);
  5. 仅在MyISAM数据库引擎中支持全文本搜索。

本文分享自微信公众号 - 小末快跑(Faster_Future),作者:小末快跑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【精益生产】六西格玛管理的统计学理解

    摩托罗拉公司为了改善产品质量,在1987年提出了六西格玛质量管理方法,以及后来的种种故事,这里不扯那些犊子,讲讲基于统计学上对这种质量管理方法的理解,因为六西格...

    小末快跑
  • MySQL创建计算字段及基本函数

    select concat(vend_name,'(',vend_country,')') from vendors order by vend_name;

    小末快跑
  • 假设检验再学习

    假设检验要解决的问题:根据样本观察得到的一些结论、根据经验积累得到的一些认识,以及由此得到的判断是否成立?假设检验是一种非常有用的统计方法,在统计学中具有重要的...

    小末快跑
  • 【R语言经典实例5】如何比较两个向量

    比较运算符(==、!=、<、>、<=、>=)能对两向量间的各个元素进行比较。这些运算符也能将向量中所有元素与一个常数进行比较。返回结果是每两个元素间比较结果的逻...

    统计学家
  • 考试备战系列--软考--01基础架构概念

    由于一些知识性的特殊需要,要求掌握比较过时的软件架构设计理论,因而作此文案用于记忆和查询。该部分内容与现实中软件开发相去甚远,也可以理解一些东西之间确实存在很大...

    用户1216676
  • 5201314对程序员意味着什么?

    作为年轻人的潮流聚集地,Qzone在每个特殊的日子总会迎来一波猛烈的流量冲击。比如刚过去的520,下图是今年5月20号的流量情况:

    TSW
  • 七、VueJs 填坑日记之渲染一个列表

    在上一篇博文中,我们对vue组件有了一个简单的认识和大概的理解。在之前认识项目结构的时候,我们在/src目录中创建了一个components的文件夹,而今天就要...

    I Tech You_我教你
  • 知识星球(原小密圈)有哪些技术类星球值得推荐?

    星主本名Henry Han ,自称仙翁.19年的IT老兵,做过开发,维护,做过研究创新,做过售前售后,也做过管理咨询。

    首席架构师智库
  • 13个最受欢迎的机器学习Python库

    人工智能的快速发展,让机器学习备受大家欢迎。今天给大家盘点一下最受欢迎的机器学习库(ML):

    人工智能的秘密
  • 全栈是什么体验?想想都恐怖

    用户2193479

扫码关注云+社区

领取腾讯云代金券