一、子查询
当使用的数据库表是关系表,借助另一个字段指明位置。使用多个表间的select 语句嵌套查询

二、联合查询
使用union语句连接两个select 语句进行合并联合查询(or)
select 列1,列2 … from 表明 where 条件 union select 列1 ,列2 … from 表名 where 条件;

1.union 必须包含两个或者两个以上select 语句
2.union 只能使用一个order by 语句
3.union 适用于对于不同表进行联合查询
三、全文本搜索
1.创建表时需要指定哪些字段为全文本搜索的列;
2.创建表时需要指明支持全文本搜索数据库引擎(MyISAM),速度快且智能;
3.格式:select 列名 from 表名 where match(列名) against(‘关键字’);

4.扩展查询
select 列名 from 表名 where match (列名)against(‘关键字’with query expansion);

5.布尔文本搜索
select 列名 from 表名 where match(列名) against(‘关键字’ in boolean mode);

四、连接查询
1.内连接又叫等值连接。使用inner join会使性能下降

2.交叉连接
在连接查询时候不通过where 子句指定条件,返回结果集成笛卡尔乘积
3.对表和列使用别名

4.自连接:不同于子查询,且快于子查询


5.外连接
5.1左外连接

5.2右外连接

五、函数
1.符合sql函数类型
2.计算字段
对数据库中的存储数据进行重新格式化,格式化之后的列被称为计算字段。
3.拼接字段
将值连接起来构成一个单一的更长的值
4.使用concat(),trim()函数创建拼接字段

5.加减乘除的运算符操作(±*/)

6.调用upper使供应商名称大写

7.调用soundex(),查询名字发音类似的联系人

8.调用date()查询某一时间的订单

9.聚合函数
9.1查询平均值

9.2查询customers中的客户总数

9.3查询表中最高价和最低价;

9.4去掉重复行的平均值

9.5组合聚合函数

六、分组:group by 过滤: having
1.查询每个供应商提供的产品的数量

2.查询至少有两个订单的客户

3.查询拥有产品数大于或者等于2,且产品价大于或等于10的供应商(where 用于分组前的过滤,having 用于分组后的过滤)

4.查询订单号和所有订单中总价大于或等于50 的订单

总结:select … from … where… group by … having … order by … limit … ;

mysql的复杂查询相关推荐

  1. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  2. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

  3. MySQL 微秒慢查询补丁

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 原文出自:The new cool MySQL patch ha ...

  4. mysql timestamp比较查询

    这篇文章主要介绍了mysql timestamp比较查询遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 timestamp比较查询遇到的坑 记得之前 ...

  5. mysql开启慢查询日志

    应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...

  6. Mysql中分页查询两个方法比较

    mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 1 2 3 SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM f ...

  7. mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)

    首先准备两台服务器: 主:192.168.1.88 从:192.168.1.78 创建需要同步的数据库,比如为sync_db,将这个数据库各拷贝到78和88一份 修改主服务器88上的配置,找到my.c ...

  8. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据

    php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...

  9. MySQL 行子查询

    MySQL 行子查询 行子查询是指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集. 一个行子查询的例子如下: SELECT * FROM table1 WH ...

  10. mysql的in查询参数限制,多少数据量会造成性能下降?什么时候创建临时表合适?

    文章目录 一.前言 二.本地配置以及生成测试数据 1.本地mysql配置 (1)mysql版本 (2)本地sql长度限制 2.创建表和测试数据(50W) (1)创建表语句 (2)循环插入50W条数据 ...

最新文章

  1. HDU 6015 Colorful Tree(2017多校)
  2. 老板让你抗住千万级流量,如何做架构设计?
  3. SpringBoot项目新手——问题疑惑及解决笔记
  4. C++基础03-C++对c的拓展-函数
  5. mysql索引下推原理_MySQL:好好的索引,为什么要下推?
  6. 蓝桥杯基础练习十六进制转十进制
  7. vmware vcenter orchestrator configuration提示“用户名密码错误或登录失败超过次数被锁定”...
  8. 随机游走算法(Random Walk)
  9. Hadoop原理之checkpoint机制
  10. 今夜酒店特价与携程的江湖恩怨
  11. 深度学习之 7 深度前馈网络
  12. Consistent hashing kills tencent2012笔试题附加题
  13. that was originally added here
  14. java项目集成谷歌登录验证器,给网站添加谷歌验证(我不是机器人)
  15. Java实现IP库归属地查询
  16. 那些崩溃率低于万分之一的独角兽APP都作对了什么?
  17. CorelDRAW VBA - 第一个Hello World程序
  18. 彻底弄透Java处理GMT/UTC日期时间
  19. Visual Studio 2017十五项新功能体验
  20. 中忻嘉业电商:如何理解抖音dou+投放

热门文章

  1. ubuntu上安装spark详细步骤
  2. 微信小程序之登录跳转及调用接口获取信息
  3. 奥维互动地图 墨卡托(Mercator)投影 最新资源
  4. 会声会影2020Corel Video Studio视频制作剪辑软件下载 V2020 23.0.1 中文直装免费版
  5. 电子商务计算机网络的定义,网络营销的定义概念是什么
  6. 神同步的智能运维体系和世界杯442阵型
  7. iOS开发——App集成短信验证码
  8. UVA 11178-Morley's Theorem(计算几何_莫雷定理)
  9. 再生医学突破 中国科学家诱导出人类全能干细胞
  10. 蚂蚁员工激励达到1376.9亿元 人均可在杭州买一套283平房子