SQL语句介绍(3)
来源:互联网 发布:策略设计模式 java 编辑:程序博客网 时间:2024/06/06 04:29
20.子查询:可以在SELECT中嵌套SELECT语句,对于嵌套语句,应该每测试一次子查询语句的正确性后在嵌套进去。
21.外键是某个表中的一列,它包含另一个表的主键。
22.表的划分一定要简洁,清晰,信息不要重复冗长。
23.SELECT可以从多个表中同时筛选数据并返回,并用WHERE语句提供表之间的联结条件
24.内部联结也称为等值联结,用两个表之间值是否相等来进行测试。用法:table1 INNER JOIN table2 ON 条件。
25.联结表对性能有影响,联结的表越多性能越差。
26.别名的使用:简化操作,便于显示,便于重复使用,容易理解。
27.如果两条SELECT语句都是在同一个表中进行查询,则可以使用自联结,就是把两条语句合并成一条SELECT语句,并且对同一个表分别赋别名去使用。
28.外部联结:在联结表中一般一个表中的行会和另一个表中的行相关联,但若一个表中的某些行并没有和另一个联结表中的相应行联结,但是你又要通过联结条件来显示该表中的所有行,这时候你就应该使用外部联结: 表1 LEFT OUTER JOIN 表2 ON 条件 或者 表1 RITHG OUTER JOIN 表2 ON 条件, 前者显示表1的所有行,后者显示表2的所有行。
29.使用UNION语句可以联结多条SELECT语句,并作为单个查询结果返回,但应该注意,每个SELECT语句的返回的列应该是相同的。
UNION默认自动去除重复的行,如果不想自动去除重复的行,可以使用UNION ALL。
虽说UNION组合查询语句在很多情况下和多条子句的WHERE 语句可以实现相同的功能,但是WHERE不能返回重复的行,但是UNION ALL 却可以。
UNION组合查询只能通过一条ORDER BY 语句进行排序,且放在最后一条SELECT语句后面。
30.MySQL中的InnoDB类型表不支持全文搜索,而MyISAN类型表支持全文搜索,并且若想让表的引擎改为MyISAM应在创建表的语句的最后加上 ENGINE=MyISAM。注意:刚才我上网查询以后发现现在即使是InnoDB类型的表也支持全文搜索了。
全文本搜索是在搜索之前指定了各个词的索引,所以在查询的时候速度更快。
FULLTEXT(列名)对某列使用全文搜索,这是在创建表的时候使用的语句,也可以在创建表之后指定FULLTEXT
不要在导入数据到一个表的时候启用全文搜索,应该在导入数据后修改表定义全文搜索,这样效率更高。
Match(列名) Against(搜索文本) 注意:该搜索文本中可以包含多个词,但是只要某个行中只要有其中一个值就会被返回全文搜索的格式
全文搜索会对结果进行排序,具有较高等级的行先返回,符合以下条件的行具有较高条件:搜索的文本在该行的前面,包含多数匹配词的行,需要匹配的值离得近
扩展查询:在查询文本后加上 WITH QUERY EXPANSION
布尔文本搜索:没有定义FULLTEXT索引也可以使用(但是这样的话操作会非常缓慢),使用布尔搜索可以实现更多更加精细的对搜索结果的控制,以下图片是布尔查询的一些操作符。用法:在搜索文本后面加上 IN BOOLEAN MODE. 个人认为 (),“”,* 这3个符号应该掌握。
索引文本中3个或者3个以下字符的词被忽略
MySQL带有一个内建的非用词列表,这些词在索引全文本数据时总是被忽略
如果一个词出现在50%以上的行中,则被忽略,但在IN BOOLEAN MODE 中不被忽略
如果表中的行数少于3行,则全文搜索不返回结果
忽略词中的单引号。
- SQL语句介绍(3)
- SQL语句介绍(2)
- SQL语句介绍(4)
- SQL基本语句介绍(转)
- 事务的介绍(sql语句)
- SQL语句功能介绍(1)
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙sql语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- 精妙SQL语句介绍
- Knockout应用开发指南 第二章:监控属性(Observables)
- Remove Nth Node From End of List
- Gridx入门
- Java Calendar日期操作
- ListView和GridView利用pull-to-rerfesh 实现下拉刷新和上拉加载更多
- SQL语句介绍(3)
- 注解一
- Knockout应用开发指南 第三章:绑定语法(1)
- 常见脱壳方法
- codeforces 576B Invariance of Tree (观察)
- 如何把java中系统类的注释更换为中文版
- Yii中的常用路径总结 [ 1.1 版本 ]
- Http Post Get
- Go1.5从文件读取密码,然后到远端下载文件的小实例.(通过sftp协议下载)