mysql的复杂查询
一、子查询
当使用的数据库表是关系表,借助另一个字段指明位置。使用多个表间的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的复杂查询相关推荐
- java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码
jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user ...
- MySQL 微秒慢查询补丁
作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 原文出自:The new cool MySQL patch ha ...
- mysql timestamp比较查询
这篇文章主要介绍了mysql timestamp比较查询遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 timestamp比较查询遇到的坑 记得之前 ...
- mysql开启慢查询日志
应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...
- Mysql中分页查询两个方法比较
mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 1 2 3 SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM f ...
- mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)
首先准备两台服务器: 主:192.168.1.88 从:192.168.1.78 创建需要同步的数据库,比如为sync_db,将这个数据库各拷贝到78和88一份 修改主服务器88上的配置,找到my.c ...
- php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据
php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...
- MySQL 行子查询
MySQL 行子查询 行子查询是指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集. 一个行子查询的例子如下: SELECT * FROM table1 WH ...
- mysql的in查询参数限制,多少数据量会造成性能下降?什么时候创建临时表合适?
文章目录 一.前言 二.本地配置以及生成测试数据 1.本地mysql配置 (1)mysql版本 (2)本地sql长度限制 2.创建表和测试数据(50W) (1)创建表语句 (2)循环插入50W条数据 ...
最新文章
- HDU 6015 Colorful Tree(2017多校)
- 老板让你抗住千万级流量,如何做架构设计?
- SpringBoot项目新手——问题疑惑及解决笔记
- C++基础03-C++对c的拓展-函数
- mysql索引下推原理_MySQL:好好的索引,为什么要下推?
- 蓝桥杯基础练习十六进制转十进制
- vmware vcenter orchestrator configuration提示“用户名密码错误或登录失败超过次数被锁定”...
- 随机游走算法(Random Walk)
- Hadoop原理之checkpoint机制
- 今夜酒店特价与携程的江湖恩怨
- 深度学习之 7 深度前馈网络
- Consistent hashing kills tencent2012笔试题附加题
- that was originally added here
- java项目集成谷歌登录验证器,给网站添加谷歌验证(我不是机器人)
- Java实现IP库归属地查询
- 那些崩溃率低于万分之一的独角兽APP都作对了什么?
- CorelDRAW VBA - 第一个Hello World程序
- 彻底弄透Java处理GMT/UTC日期时间
- Visual Studio 2017十五项新功能体验
- 中忻嘉业电商:如何理解抖音dou+投放
热门文章
- ubuntu上安装spark详细步骤
- 微信小程序之登录跳转及调用接口获取信息
- 奥维互动地图 墨卡托(Mercator)投影 最新资源
- 会声会影2020Corel Video Studio视频制作剪辑软件下载 V2020 23.0.1 中文直装免费版
- 电子商务计算机网络的定义,网络营销的定义概念是什么
- 神同步的智能运维体系和世界杯442阵型
- iOS开发——App集成短信验证码
- UVA 11178-Morley's Theorem(计算几何_莫雷定理)
- 再生医学突破 中国科学家诱导出人类全能干细胞
- 蚂蚁员工激励达到1376.9亿元 人均可在杭州买一套283平房子